gerrit提交触发jenkins编译

十年热恋 提交于 2020-01-17 08:57:44

https://www.jianshu.com/p/5b6a338ff18c

官方配置:

https://wiki.jenkins.io/display/JENKINS/Gerrit+Trigger#GerritTrigger-TriggerConfiguration

 

Gerrit+Jenkins

https://blog.csdn.net/weixin_34019929/article/details/89869559

https://www.cnblogs.com/kevingrace/p/5651447.html

 

Gerrit的原理:

https://blog.51cto.com/muyusen/2438406

git commit 触发的hook:

https://www.jianshu.com/p/b532d62da0f1

一、Jenkins安装完成后,在管理Jenkins里,安装两个插件

1、Gerrit Trigger:通过Gerrit事件触发Jenkins构建
2、Role-based Authorization Strategy:可以设置用户组的权限以及工程的权限,最直接的概念就是,可以设置某个用户只可以read、build某些工程。

二、在Jenkins首页,管理Jenkins -> Gerrit Trigger,

1、添加gerrit服务器

2、解决jenkinsd的SSH Keyfile问题

在用户下生成SSH key

$ssh-keygen
一路回车就行,在用户根目录下生成SSH Key,公钥和私钥在~/.ssh文件下

在/var/lib/jenkins下创建.ssh目录

$sudo mkdir .ssh

将根目录下.ssh目录下的SSH key复制到/var/lib/jenkins的.ssh下,并更改所属用户

$ls ~/.ssh/
id_rsa  id_rsa.pub

将根目录下的.ssh里的SSH Key复制到/var/lib/jenkins/.ssh里
sudo cp ~/.ssh/* /var/lib/jenkins/.ssh


更改/var/lib/jenkins/.ssh所属用户
sudo chown -R jenkins:jenkins .ssh/
sudo chmod 755 ./ssh/*


查看.ssh更改后的所属用户和属性:
drwxr-xr-x   2 jenkins jenkins  4096 Jan  7 20:16 .ssh
-rwxr-xr-x  1 jenkins jenkins 1679 Jan  7 20:16 id_rsa
-rwxr-xr-x  1 jenkins jenkins  420 Jan  7 20:16 id_rsa.pub

在gerrit的特殊账户下(我们开了一个团体账号),将公钥pub添加到该用户下,并测试是否能通过SSH连接

注意填写Username,不写的话会出现Auth fail的报错
Connection error : com.jcraft.jsch.JSchException: Auth fail

3、测试Gerrit Trigger触发

创建一个任务,在任务的配置里,在构建触发器里选择Gerrit event,

 

 

Pipeline脚本测试:

node {
    stage('Build') {
        echo "------------------------success test!"
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!