配置後的效果:git
向分支push後自動觸發jenkins jobweb
jenkins job 成功執行後爲當前的commit添加一個標籤,方便之後進行線上回滾ssh
須要安裝的插件:gitlab
Gitlab Hook Pluginui
GitLab Pluginspa
首先在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
首先在源代碼管理中爲這個倉庫起一個名字:建立一個構建後的操做「GIT Publisher」, 在 Target remote name 中填寫倉庫的名字。TAG的名稱能夠引用Jenkins的環境變量,如 B$BUILD_NUMBER
rem
在gitlab項目中,將jenkins的公鑰添加到當前項目master用戶中。若是不須要構建成功後打標籤的話能夠在deploy key 中添加jenkins的公鑰。
jenkins在給git分支打標籤的時候會進行push操做,而deploy key只有可讀的權限。
在這裏添加一個push的webhook,URL爲jenkins job觸發器配置中 Build when a change is pushed to GitLab. GitLab CI Service URL
對應的值