日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Gitlab Merge Request Builder Plugin 配置小記

 bananarlily 2015-07-16

Gitlab Merge Request Builder Plugin 配置小記

發(fā)表于1年前(2014-07-09 00:46)   閱讀(1779) | 評(píng)論(14人收藏此文章, 我要收藏
0

7月18日 杭州 OSC 源創(chuàng)會(huì) —— 開(kāi)源的 Swift 2.0

摘要 以前在給一些開(kāi)源項(xiàng)目貢獻(xiàn)代碼的時(shí)候,在github上一提交pull request或者提交的分支代碼更新了的時(shí)候,jenkins就會(huì)自動(dòng)把代碼進(jìn)行merge并且運(yùn)行單元測(cè)試,當(dāng)時(shí)看了心里就2個(gè)字: NB! 那個(gè)時(shí)候心里就想,啥時(shí)候我也得弄這么一個(gè)高大上的玩意兒。隨著 gitlab 在工作中的逐漸使用,這個(gè)想法越來(lái)越強(qiáng)烈。上周末搜來(lái)搜去,發(fā)現(xiàn)jenkins還真有一款針對(duì)gitlab的merge request的插件:Gitlab Merge Request Builder Plugin 當(dāng)時(shí)就心癢難耐,開(kāi)始看著說(shuō)明一步步的配置。

以前在給一些開(kāi)源項(xiàng)目貢獻(xiàn)代碼的時(shí)候,在github上一提交pull request或者提交的分支代碼更新了的時(shí)候,jenkins就會(huì)自動(dòng)把代碼進(jìn)行merge并且運(yùn)行單元測(cè)試,當(dāng)時(shí)看了心里就2個(gè)字: NB!

那個(gè)時(shí)候心里就想,啥時(shí)候我也得弄這么一個(gè)高大上的玩意兒。隨著 gitlab 在工作中的逐漸使用,這個(gè)想法越來(lái)越強(qiáng)烈。上周末搜來(lái)搜去,發(fā)現(xiàn)jenkins還真有一款針對(duì)gitlab的merge request的插件:Gitlab Merge Request Builder Plugin

當(dāng)時(shí)就心癢難耐,開(kāi)始看著說(shuō)明一步步的配置。配置分成2大部分:

第一部分: 安裝插件&基礎(chǔ)設(shè)置


  • 首先安裝插件,要求jenkins版本大于1.563,好在jenkins升級(jí)比較方便,在系統(tǒng)管理界面就有個(gè)大大的升級(jí)按鈕,果斷升級(jí)到1.570

  • 系統(tǒng)管理->插件管理->可選插件 里面搜出來(lái) Gitlab Merge Request Builder 安裝并重啟 jenkins,官方文檔在這里強(qiáng)調(diào)了需要重啟jenkins。

  • 重啟之后,進(jìn)入系統(tǒng)管理->系統(tǒng)設(shè)置 里面,能發(fā)現(xiàn)里里面多了Gitlab Merge Request Builder的配置項(xiàng)

    1. Gitlab Host URL 里填gitlab的服務(wù)地址,比如http://192.168.0.1

    2. Jenkins Username 里面填寫(xiě)jenkins的用戶(hù)名,在這里需要在gitlab里面給jenkins創(chuàng)建一個(gè)跟你其他小組成員一樣的賬戶(hù),以便jenkins能在項(xiàng)目中發(fā)言

    3. Jenkins API Token 是jenkins在getlab中賬戶(hù)的一個(gè)權(quán)限校驗(yàn)碼,這個(gè)碼可以在使用jenkins賬戶(hù)登錄gitlab后進(jìn)入賬戶(hù)編輯界面的Account標(biāo)簽頁(yè)中查到,在那里面叫Private token

    4. Crontab line 主要是配置jenkins多久去檢查一次merge request的變更, 默認(rèn)是 */5 * * * * 即 5分鐘一次, 不過(guò)jenkins建議改成 H/5 * * * * 貌似可以改善并發(fā)。聽(tīng)人勸吃飽飯,我把*/5換成了H/5至今為止貌似還沒(méi)發(fā)現(xiàn)問(wèn)題。

    5. Enable build triggered message 是指在插件激活的時(shí)候在merge request界面發(fā)送一條jenkins已經(jīng)開(kāi)始工作的消息,不過(guò)我感覺(jué),調(diào)試的時(shí)候還有點(diǎn)用,正常使用就有點(diǎn)啰嗦了。

    6. Default success messageDefault unstable message以及Default failure message三個(gè)配置分別是一個(gè)成功和兩個(gè)失敗的提示消息模板,干巴巴的字感覺(jué)不是很明晰,所以可以在里面增加emoji表情,比如 :smiley: 或者 :broken_heart:

    7. Ignore SSL Certificate Errors 顧名思義是忽略https的證書(shū)錯(cuò)誤,這個(gè)選項(xiàng)對(duì)假設(shè)在局域網(wǎng)內(nèi)的gitlab私服很有用,果斷勾上!

  • 都配置好了之后不要忘記點(diǎn)擊 保存 按鈕

第二部分: 創(chuàng)建任務(wù)


  • 創(chuàng)建任務(wù)一開(kāi)始和普通流程沒(méi)啥兩樣,點(diǎn)擊新建創(chuàng)建一個(gè)新任務(wù),然后選擇你需要的任務(wù)類(lèi)型,因?yàn)槲沂莔aven項(xiàng)目所以我選了構(gòu)建一個(gè)maven2/3項(xiàng)目,填好項(xiàng)目名稱(chēng)點(diǎn)擊OK進(jìn)入到任務(wù)詳細(xì)配置頁(yè)

  • 在這里官方文檔上寫(xiě)著如果安裝了GitHub plugin的話(huà),可以在GitHub Project欄目里面隨便填上你的項(xiàng)目在Gitlab里面的URL,不過(guò)我沒(méi)裝這個(gè)插件,所以跳過(guò)。

  • 找到源碼管理欄目并選擇Git,從這里開(kāi)始比較重點(diǎn)

    • 按照常規(guī)填寫(xiě)了Repository URLCredentials之后,點(diǎn)擊高級(jí)...按鈕,在Name中填寫(xiě)origin
    • 為了支持從其他forked分支提交的merge requests需要再額外增加一個(gè)源。點(diǎn)擊Add Repository,然后將新增加的源的Repository URL內(nèi)容設(shè)置為${gitlabSourceRepository},Credentials和主源一樣,高級(jí)...中的Name設(shè)置為${gitlabSourceName}
    • 找到Branch Specifier,將里面的內(nèi)容改為${gitlabSourceName}/${gitlabSourceBranch}
    • 找到Additional Behaviours點(diǎn)擊寫(xiě)著Add字樣的下拉列表,選擇Merge before build
    • 在新彈出的Merge before build區(qū)塊中,設(shè)置 Name of repository 的值為 origin,設(shè)置 Branch to merge to 的值為 ${gitlabTargetBranch}
    • 官方文檔在這里有一個(gè)提示,說(shuō)要保證 Prune stale remote-tracking branches 沒(méi)有被添加
  • 找到 構(gòu)建觸發(fā)器 欄目

    • Gitlab Merge Requests Builder 打上勾
    • Gitlab Project Path 里面填寫(xiě)項(xiàng)目的路徑,格式類(lèi)似于 your_group/your_project ,不知道怎么填可以打開(kāi)你的項(xiàng)目在git的主頁(yè),然后參考看看URL,就是類(lèi)似 http://d/your_group/your_project,注意不要把整個(gè)URL都填進(jìn)去,只需要填 your_group/your_project 這部分。
    • 官方文檔中還提到了 Target Branch Regex ,貌似是個(gè)能起到分支白名單作用的選項(xiàng),如果不填則所有的正常的merge request都能觸發(fā)這個(gè)任務(wù)。不過(guò)不知道為什么我這里沒(méi)有找到這個(gè)選項(xiàng),所以就跳過(guò)了。
  • 到這里跟merge request相關(guān)的配置基本就完成了,然后就是配置一下項(xiàng)目其他的一些編譯選項(xiàng),比如我在maven編譯的Goals and options中填寫(xiě)了clean test -U,這樣構(gòu)建就只執(zhí)行到完成測(cè)試,這樣就達(dá)到了在合并代碼前先檢查其質(zhì)量的目的。

  • 一切配置完成后不要忘了點(diǎn)擊保存按鈕。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多