前面一章,我们已经成功构筑了Docker环境,并且在docker环境里面,安装完成了tomcat服务。这章我们继续安装和构建Jenkins和SonarQube的环境。
第一部分:Jenkins环境的安装和构建。
1.在docker中拉取Jenkins镜像
docker pull jenkins/jenkins
2.安装并运行Jenkins
这里参照官方网站上的步骤安装就可以了。说明略过。
https://www.jenkins.io/zh/doc/book/installing/#setup-wizard
Jenkins的安装和运行还是比较简单的,这里有几个我自己感觉需要mark的地方。
1.一定要记住解锁Jenkins自动生成的密码
2.确认一下jdk的版本和安装位置
这个路径以后配置Jenkins的JDK什么的,都需要指定。
3.确认workspace的位置,以后新建的workspace都会创建在这里,编译和打包都在这个位置。
第二部分:配置maven环境
我们虽然安装了jenkins环境,但是maven环境是没有的,需要挂载宿主机的maven环境到jenkins里面。
1.启动jenkins的时候,把宿主机的maven环境挂载进去。
docker run -u root -p 8082:8080 -v /opt/soft/apache-maven-3.3.9:/usr/local/maven jenkinsci/blueocean
-v
是将宿主机的目录挂载到容器内
/opt/soft/apache-maven-3.3.9:是宿主机的路径
/usr/local/maven:是jenkins环境的路径。
2.挂载后确认
3.设置容器应用的环境变量
vi /etc/profile
在文件最后面添加如下内容
# maven环境变量
export M2_HOME=/usr/local/maven
export PATH=$PATH:$M2_HOME/bin
4.更新profile
source /etc/profile
5.验证设置
mvn -v
出现maven的安装信息就证明安装成功了。
tips:由于我是先安装了jenkins,后挂载的。当再次挂载启动jenkins的时候报了,iptables之类的错误,解决方法是,重新启动docker服务,之后再启动jenkins就可以了。
docker: Error response from daemon:
driver failed programming external connectivity on endpoint myrabbit \
(892f397b0ad5c6cca695f2d9ae770d0856745f58009bb75d5e6e13d4a7d88e9e): \
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport \
15672 -j DNAT --to-destination 172.17.0.3:15672 ! -i docker0: iptables: \
No chain/target/match by that name.
重新启动docker命令
systemctl restart docker
第三部分:安装sonarQube
SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味。它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。
SonarQube的安装也是比较简单,直接在docker里面拉一下就可以了。
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9009:9000 sonarqube:7.4-community
tips:这里之所以标成红色,是因为很重要。
SonarQube安装配置之后,后面是和jenkins联动的,为了以后SonarQube scanner的时候,不出jdk版本不对的问题,强烈建议大家确认自己jenkins里面的jdk版本。如果版本不对,会报java.lang.UnsupportedClassVersionError:之类的错误,大家排错的时候可以对照一下版本。
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
我的jdk是1.8,所以我安装的是sonarQuber7.4,用的scanner是2.8
第四部分:jenkins环境和sonarQube的配置
1,配置jdk,maven
登陆jenkins后,点设定->Global Tool Configuration,进行设定。
设定maven的setting.xml文件
设定jdk
设定maven的版本和位置
2.配置sonarQube
首先,要生成token.在sonarQube网站的administrato->My Account->security下面,生成后配置jenkins用。
然后复制生成的token,去jenkins的系统设定里面配置sonarQubeServer
这里先要生成秘钥
然后去配置sonarQubeServer
最后配置sonarQubeScanner
到此我们的安装和配置过程就已经完成了。下一节我们将用我们配置好的环境,利用jenkins生成war包,配置到tomcat上面,并且生成sonarQube的代码检测报告。