gitlab與jenkins協同工做

 

gitlab push 觸發 Jenkins Job

 

配置後的效果:git

  • 向分支push後自動觸發jenkins jobweb

  • jenkins job 成功執行後爲當前的commit添加一個標籤,方便之後進行線上回滾ssh

須要安裝的插件:gitlab

  • Gitlab Hook Pluginui

  • GitLab Pluginspa

Jenkins Job 的設置

設置源代碼倉庫

首先在Jenkins建立一個job,在「源碼管理」中指定git並設置URL。 在 Branch Specifier 中填寫 */dev* 表示只有dev開頭的分支有push操做的時候纔會觸發這個job。設置中的「Repository URL」是gitlab中SSH方式的URL,以下:插件

設置觸發器:這裏 Build when a change is pushed to GitLab. GitLab CI Service URL 的值後面須要填寫到gitlab的push hook中code

在「Credentials」中添加一個用戶的認證方式,這裏咱們選擇ssh key的方式:ci

配置build成功之後在gitlab上打標籤

首先在源代碼管理中爲這個倉庫起一個名字:建立一個構建後的操做「GIT Publisher」, 在 Target remote name 中填寫倉庫的名字。TAG的名稱能夠引用Jenkins的環境變量,如 B$BUILD_NUMBERrem

GitLab 設置

設置jeknins用戶的權限

在gitlab項目中,將jenkins的公鑰添加到當前項目master用戶中。若是不須要構建成功後打標籤的話能夠在deploy key 中添加jenkins的公鑰。

jenkins在給git分支打標籤的時候會進行push操做,而deploy key只有可讀的權限。

設置push hook

在這裏添加一個push的webhook,URL爲jenkins job觸發器配置中 Build when a change is pushed to GitLab. GitLab CI Service URL 對應的值

相關文章
相關標籤/搜索