向GitLab提交代码之后自动触发Jen

公益中科 http://m.39.net/pf/a_5882645.html

GitLab服务器和Jenkins服务器可以通过WebHook的方式进行通信。

1)在Jenkins服务器中,安装GitLabPlugin和GitLabHookPlugin

2)打开一个任务配置,构建触发器中选择BuildwhenachangeispushedtoGitLab.记下GitLabwebhookURL,使用时候将localhost替换成服务器的ip地址。

3)在GitLab服务器中,在目标project的Settings-Integrations中添加WebHook。将Jenkins产生的GitLabwebhookURL填入URL,其他选项使用默认设置,点击Addwebhook,webhook添加成功:

4)点击下方Test,并选择Pushevents,系统报错,有权限问题:Jenkins匿名用户无Build权限。

5)在Jenkins中修改安全策略(谨慎操作,确保操作用户具有所有权限):

系统管理-全局安全配置-在安全矩阵中给予匿名用户Build权限

6)在GitLab中再次测试:

7)在配置安全策略过程中出现了服务器访问报错,用户无法登录的情况,具体可参考:

主要思路是:通过修改~/.jenkins/config中authorizationStrategyclass的值(经重启Jenkins服务器生效),逐步改变Jenkins的安全策略,最终恢复正常状态。




转载请注明:http://www.aierlanlan.com/tzrz/1222.html