Git - 向 GitLab 提交代码之后自动触发 Jenkins 构建

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

(1)在Jenkins服务器中,安装GitLab Plugin和GitLab Hook Plugin

(2)打开一个任务配置,构建触发器中选择"Build when a change is pushed to GitLab."记下GitLab webhook URL,使用时候将localhost替换成服务器的ip地址。

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

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

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

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

(6)在GitLab中再次测试:

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章