linux安装禅道+jenkins+sonar

最近在为公司搭建自己的研发管理平台,自己之前也没有弄过,都是在网上先学一步步摸索出来的。

1.关于禅道的的安装详见https://blog.csdn.net/kangzhuang521/article/details/109730767

2.安装jenkins

我这里选用的是jenkins2.266目前最新的版本,由于是部署在内网,所以很麻烦,我自己在本机搞了一台虚拟机,都是事先将一些插件提前安装好,然后将/var/lib/jenkins/plugins下面的文件打包,放到内网服务器同一路径下,包括maven的、git的,这样新建jenkins任务的时候才可以构建一个maven项目,这里不多讲了,

把rpm压缩包上传到/u01/crm/software/目录下
执行
rpm -ivh jenkins-1.612-1.1.noarch.rpm

此时启动
service jenkins start
 

也可以使用jenkins.war部署到tomcat

还要修改一个Jenkins的一个配置文件:
vim /etc/init.d/jenkins
在candidates=添加本地jdk的环境变量/bin/java

卸载Jenkins
1、rpm卸载
rpm -e jenkins
2、检查是否卸载成功
rpm -ql jenkins
3、彻底删除残留文件:
find / -iname jenkins | xargs -n 1000 rm -rf

安装插件

有外网

需要啥直接下载
升级站点
http://mirror.xmission.com/jenkins/updates/update-center.json
http://updates.jenkins-ci.org/update-center.json

无外网

总体思路:
找一台可以连接外网的虚拟机,安装好,在页面上下载好需要的插件。把这台虚拟机上Jenkins目录下的plugins目录拷贝到没有外网的Jenkins目录下
/var/lib/jenkins/plugins

拷贝到没有外网的Jenkins目录下需要修改用户和组
chown -R 用户 目录或文件名
chgrp -R 组 目录或文件名

更换Jenkins工作空间

查看jenkins安装路径
rpm -ql jenkins
在这里插入图片描述
jenkins相关目录释义:
(1)/usr/lib/jenkins/:jenkins安装目录,war包会放在这里。
( 2 ) /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。
(3)/var/lib/jenkins/:默认的JENKINS_HOME。
(4)/var/log/jenkins/jenkins.log:jenkins日志文件。
2修改jenkins配置文件/etc/sysconfig/jenkins,进去把JENKINS_HOME路径改为你需要的,前提是你先把原来的数据copy到你需要的路径哦,copy前建议先关闭jenkins,!!!!

在这里插入图片描述
service jenkins restart 重启jenkins

service jenkins start 启动jenkins

service jenkins stop 关闭jenkins
chkconfig jenkins on 设置开机自启动

启动完成后访问网址http://localhost:port/jenkins

部署项目:

 

安装sonar

SonarQube的下载和安装

(1)首先去SonarQube的官网下载SonarQube包,而我们则选择较稳定的LTS版本6.7.2,目前sonar7.9+版本不再支持mysql数据库,sonar-scaner我用的是2.8版本,太高的版本需要jdk11.

下载完成后,unzip解压,我的解压路径为/web/sonarqube-6.7.2,同时新增一个用户和用户组(SonarQube不能以ROOT用户运行):

#创建一个名为sonarqube的用户组和一个用户名为sonarqube密码为sonarqube的用户

groupadd sonarqube

useradd sonarqube -g sonarqube -p sonarqube

#为该用户分配文件夹权限

chown -R sonarqube:sonarqube /web/sonarqube-6.7.2

(2)之后,编辑sonar.properties文档,修改一些属性

vim /web/sonarqube-6.7.2/conf/sonar.properties

#设置jvm使用的内存大小,Xms最小使用内存,Xmx最大使用内存,可以根据实际情况自行设置,我目前的系统运行内存为8G

sonar.web.javaOpts=-server -Xms1G -Xmx1G -XX:+HeapDumpOnOutOfMemoryError

#配置持久化数据库的账户密码

sonar.jdbc.username=sonar

sonar.jdbc.password=Sonar6.2

#配置url,我此处使用的mysql

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

 

#下面设定访问网址为 http://centos:9000/sonar
sonar.web.host=0.0.0.0
sonar.web.port=9000

 

sonar.web.context=/sonar

(3)配置启动参数

vim /web/sonarqube-6.7.2/bin/linux-86-64(此处根据系统内存自行选择)/sonar.sh

修改RUN_AS_USER=sonarqube

即我们之前创建的用户

(4)启动sonarqube

#先切换到sonarqube用户

su sonarqube

#执行启动命令

cd /web/sonarqube-6.7.2/bin/linux-86-64/

sh sonar.sh start

附sonar启动命令:

sh sonar.sh start #启动sonar

sh sonar.sh stop #安全停止sonar

sh sonar.sh console #控制台启动sonar

#查看日志

cd ../../logs

日志分为sonar.log,es.log,web.log,若不明原因启动失败,可依次查看这几个日志。

启动后,若日志文件均无报错,即可访问http://localhost:9000/sonar,若顺利,则会出现如下界面

点击login in,输入初始账户密码admin/admin即可。

若始终无法访问,建议检查防火墙设置

 

(三)Jenkins集成Sonar

(1)在Jenkins中下载sonar插件,目前插件为 SonarQube Scanner for Jenkins,如果是内网就需要提前在有外网的服务器上下载好

安装完成后,在 系统管理->系统设置中,找到SonarQube servers模块,填写服务器信息:

全局工具配置 

 

其中认证token需要登陆sonar后,点击Administrator->security->user,点击token按钮,输入key后再点击generate进行生成

(2)在jenkins中新建一个自由风格项目

源码管理这里不再详述,选择svn或者git都可以,不过git要记得在github上设置好webhook

触发器也不再此详述,git的话,勾选GitHub hook trigger for GITScm polling选项,则每次有push操作,都将触发构建。

构建环境,建议勾选Delete workspace before build starts选项

<1>构建,如果使用gradle进行构建,需要先在 系统管理->全局工具配置中,配置好gradle的安装位置,若系统中没有安装,建议勾选自动安装,name随意输入,maven构建同理。

gradle构建,选择invoke gradle,同时在高级选项中,输入task命令clean build -x test

maven构建,在Goals and options处输入命令clean compile package -Dmaven.test.skip=true,

<2>执行代码分析,新增一个构建步骤,选择Execute SonarQube Scanner,选择你的jdk版本,若没有,请在全局工具配置中配置好jdk位置。再选择好sonarqube scanner的版本。

之后,在Analysis properties处,输入sonar的检查参数,

#项目名称和版本(必填项)
sonar.projectName=kang-register
sonar.projectVersion=2.3.1.RELEASE
sonar.language=java
#源码位置(必填项,相对于jenkins的workspace路径,例如,我此时的绝对路径为/home/jenkins_workspace/new)
sonar.sources=/home/jenkins_workspace/new/kang-register/kang-register-registry-starter/src/main/java/
#编译后的class位置(必填项,旧版本此项可不填,建议还是填入,相对路径同上)
sonar.java.binaries=/home/jenkins_workspace/new/kang-register/kang-register-registry-starter/target/classes

后面jvm的启动参数项,可以参考GC优化策略。新手略过

整合具体过程:

管理添加用户:

 

 

 

 

二.点击新建任务,创建一个maven项目任务:

 

 

三.具体参数配置:

1.一般参数设置

 

 

下面两个参数为禅道所需的参数,内容不需要填写:

 

如果使用git标签部署,则需要配置git标签,如果部署最新版本,以下则不需要配置:

 

如果上面采用git标签部署,则指定分支处填写上面的名称,如下,如果不使用git标签部署,则指定分支,或者用*/master

 

 

 

2.Sonar扫描配置:

 

#项目key (随意输入,必填项)

sonar.projectKey=2020-12-15-kang-register



#项目名称和版本(必填项)

sonar.projectName=kang-register

sonar.projectVersion=2.3.1.RELEASE

sonar.language=java

#源码位置(必填项,相对于jenkins的workspace路径,例如,我此时的绝对路径为/home/jenkins_workspace/new)

sonar.sources=/home/jenkins_workspace/new/kang-register/kang-register-registry-starter/src/main/java/

#编译后的class位置(必填项,旧版本此项可不填,建议还是填入,相对路径同上)

sonar.java.binaries=/home/jenkins_workspace/new/kang-register/kang-register-registry-starter/target/classes

 

3.build以及执行脚本配置,可以选择:

 

 

可以自己写脚本文件执行,也可以自己直接写shell:

 

4.邮箱通知设置:

 

5.执行部署

 

可选择相应的git tag部署,如果是非标签部署则没有此项:

 

开始部署:

 

6.扫描结果查看

部署成功之后可查看sonar扫描报告:

 

 

点进去可查看具体问题:

 

点击more可以看到下载扫描报告:

 

7.jenkin集成到禅道配置

配置jenkins:

 

 

版本库配置:

 

构建jenkins任务

 

 

 

执行jenkins:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值