之前参考文档,按照操作也出了些问题,所以今天边操作边记录下,我开始的目标只是将提交到gerrit的代码传到jenkins上编译出包,看是否能编译过,(因为我们的代码基本没写测试用例,所以不能跑test,如果你们的代码用test,那么这里还可以帮你检测是否跑过了test用例),最终目标是将gerrit,jenkins,sonar结合在一起,gerrit提交的代码,可以通过jenkins传到sonar上做质量检测,检测通过了,sonar将结果显示在jenkins上,jenkins看到代码没有问题,反馈给gerrit +1,然后再合入代码。现在离终极目标还远,我们先一步一步来,第一步是打通gerrit到jenkins,jenkins到sonar.
关于jenkins sonar gerrit的安装,此处不细说了,参考我的另外博客:
sonar安装: https://www.cnblogs.com/zndxall/p/12095769.html
jenkins安装: https://www.cnblogs.com/zndxall/p/11520107.html
gerrit安装: https://www.cnblogs.com/zndxall/p/9356517.html
1.jenkins上配置gerrit
(1.1)jenkins上安装插件Gerrit Trigger: 系统管理 --》插件管理 --》搜“Gerrit Trigger” 直接安装即可
(1.2)jenkins上配置gerrit: 系统管理---》Gerrit Trigger --》Add New Server
以上记得换成自己的gerrit 地址,username 是gerrit的登陆用户名 Email也是gerrit上设置的邮箱,这里要说一点是“SSH Keyfile”,默认的就是/root/.ssh/id_rsa.pub,我在点击“Test Connection”的时候报错“Bad SSH keyfile or password.”,找到了几个解决办法,参考:http://www.itkeyword.com/doc/0318320789968145108/adding-ssh-keyfile-in-jenkins-gerrit-trigger-ssh-id-rsa-does-not-exist ,前面一大堆,我比较中意answer 3,生成新的id_rsa.pub,首先再jenkins上设置全局用户名和邮箱:
git config --global user.name "AO Lingli"
git config --global user.email "zndxall@163.com"
然后参考answer 3的操作,执行 ssh-keygen -t rsa -C "zndxall@163.com",过程不用输入任何东西,回车即可,会生成id_rsa.pub,默认路径就是/root/.ssh/id_rsa.pub,然后将id_rsa.pub的内容复制到gerrit上的“ssh public keys” 即可
然后再点击jenkins上的 “Test Connection”,显示“success”表示连接成功了。
至此,jenkins上已经配置好了gerrit.
2.gerrit上配置jenkins:
下午再写。。。。。。
参考:https://blog.csdn.net/mr_raptor/article/details/76223233
https://www.cnblogs.com/kevingrace/p/5651447.html
命令行jenkins 给gerrit的提交+1:https://blog.csdn.net/freflying1119/article/details/105723118/