jengkins+gitlab+sonarqube自动化代码测试环境搭建
搭建了这套环境,里外里踩坑排坑搞了两周多才弄通,这里做个笔记记录一下,一把辛酸泪。。。。
sonarqube搭建的问题
搭建过程网上有一大堆,我这里就不赘述了。
主要说我遇到的问题,
首先,官网下载sonar可能会很慢,给各位指一条明路,这里有7.4和7.9版本的sonar,还有jdk1.8和mysql5.7。
地址:https://pan.baidu.com/s/12BDHPH08ESpVq8qV2gvhJg
提取码:szpi
然后第二个问题,sonar7.4一定不要用root用户启动,启动不来的,要换成非root的用户,一般教程里有,这里废一句话。
第三个问题,sonar的重启,每次关掉sonar重启之前都要清空sonar安装目录下temp文件夹里的内容才能起得来,第一次遇到的时候查来查来翻遍日志又折腾一个小时才发现这个原因,可能是因为我太菜了,嘎嘎嘎。
jenkins中配置的问题
jenkins安装起来太简单了,下载rpm包,直接安装,美滋滋。那么,问题就来了,先改一下jenkins默认用户为root,避免后续出现权限不够的情况,一劳永逸。
#vim /etc/sysconfig/jenkins
JENKINS_USER="jenkins" 改为root
必要的时候也可以改一下端口避免端口冲突
保存退出,然后改文件夹权限
#chown -R root:root /var/lib/jenkins
#chown -R root:root /var/cache/jenkins
#chown -R root:root /var/log/jenkins
然后重启服务
#service jenkins restart
然后就到了里面配置
首先“全局安全配置”,这里面这里先放飞一下,
安装插件
插件管理——可选插件——搜索“sonarqube”——找到名叫“sonarqube scanner”的插件——直接安装即可
这里就不贴图了,很好找
全局工具配置
我是在网上下载了sonar-scanner这个插件,安装在了这个路径下,也可以不用下载,在这里勾自动安装就行。
系统设置
名字随便填,下边是写sonarqube的url
秘钥这里特别要说一下,网上好多教程是在sonarqube上生成,然后直接粘贴进去,但是大清早就亡了,9102年jenkins这个不让直接粘贴了,o(╥﹏╥)o,然后我又查教程说点添加,把生成的token粘贴进去,然后再选就行了,我也试了好久,可是做不到啊,没办法实现。最后发现这里根!本!不!用!填! 下面那行小字就说明了,只要你的sonar没有禁止匿名访问,你就可以不用填。
gitlab配置
名字随便起,url填gitlab的url,这里的token是可以填进去的,在gitlab上生成token然后点添加,选“GitLib API token”,粘上去然后保存,出来点选择按钮选上就行了。
点 Test Connection,没问题会提示 Success
项目中的配置
源码管理
URL填gitlib项目的url
Credentials 填配置的私钥,在服务器上生成,ssh-keygen -t rsa
一路回车,生成的秘钥对在/root/.ssh下,后缀带pub的是公钥,不带的是私钥。公钥配置到gitlab上,私钥配置到jenkins上(添加全局凭据)。
构建触发器
看图,记录一下,往下看。
构建
红框里内容必填
sonar.projectKey —— 随便起,确保唯一性
sonar.projectName —— 随便起,这里跟key填写的一样,为了省事儿
sonar.projectVersion —— 起一个版本号,随便写
sonar.sources —— 对应的是jenkins的workspace的路径
gitlab配置
上面生成的公钥,粘贴到这里
webhook
进入项目点 Settings—-Integrations
上面记录的url和token粘贴上去
添加完成后会在下方显示
点击 Test——Push events
gitlab提示执行成功。
jenkins上开始构建,注意左下角那行小字,意思就是这次构建是因为gitlab管理员提交代码而发生的。
sonar出现代码测试的结果,这里的项目名字“apptest”对应的就是上面jenkins项目中填写的sonar.projectName
我举例用的是python代码,如果测试java项目还需要配置maven,因为sonar扫描java代码是针对项目源码文件的,所以需要编译产生。
总结:第一次写文章分享经验,我也是个linux菜鸟,刚做这行不久,写的不对的地方和理解不到的地方欢迎大神指出,喜欢搞技术,喜欢与大家分享,喜欢结交志同道合的朋友,有问题的可以留言,感恩相遇,希望和大家共同进步。
今天的文章jengkins+gitlab+sonarqube自动化代码测试环境搭建分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/59873.html