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 对应的值

相关文章
相关标签/搜索