Jenkins与持续集成
1、环境变量配置:
JENKINS_HOME=/home/work/apphome/jenkins_home MAVEN_HOME=/home/work/apache-maven-3.3.9 PATH=$MAVEN_HOME/bin:$PATH
export JENKINS_HOME=/home/work/apphome/jenkins_home export MAVEN_HOME=/home/work/apache-maven-3.3.9 export JAVA_HOME=/home/jdk1.8.0_144 export PATH=$MAVEN_HOME/bin:$JAVA_HOME:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置验证:java -version;mvn -version
maven下载地址:wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
2、下载最新Jenkins.war包linux命令:wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
3、jenkins启动:java -jar jenkins.war -httpPort=9000
无论Jenkins.war放在哪个目录下,都会再当前用户的根目录下创建.jenkins目录。有空可以看下Jenkins目录结构(workspace存放所有项目的代码)
4、进入后台页面拷贝管理员密码登录
5、安装插件:SSH Agent 、Git、GitHub、GitLab(企业)、publish Over SSH、SSH
6、Jenkins任务配置:http://192.168.66.26:8080/
1、新建任务--deploy--》构建一个自由风格的软件项目(springboot应用程序,拉取代码编译打包,自动部署)
2、源码管理--》Git--》增加用户名,配置git的用户名及密码--》添加git仓库地址--》选择分支
3、构建--》Execule shell
//刷新配置文件,确保配置文件有效 source /etc/profile //获取应用程序的pid pid=${ps x | grep "应用程序的jar包名称" | grep -v grep | awk '{print $1}'} //如果程序在运行,则杀掉 if [ -n "$pid" ]; then kill -9 $pid fi //Jenkins运行目录是.kenkins/workspace/ //下面就是拉取的代码 //进入到项目目录 cd 项目名 //打包 mvn clean package //进入到target目录 cd target //Jenkins启动程序后会把程序杀死,如下命令改为不杀死 BUILD_ID=dontKillMe //后台启动springboot应用程序 nohup java -jar 上面打包好的jar包名 &
4、构建后操作--》Build other projects:在本次构建完触发哪个任务(此处填写后面需要执行的对应测试脚本的job),保存
5、新建任务--test,git(测试脚本git地址)
6、构建--》Execule shell
source /etc/profile //或者是 source /home/work/.bash_profile pwd cd 测试项目名称 //直接编译,执行测试case mvn clean package
7、测试报告在线可查及管理
修改6点构建的Execule shell:
source /etc/profile pwd cd 测试项目 mvn clean package //执行如下命令,返回构建任务的id号 result=$(curl -s http://192.168.66.26:8080/job/测试的job名称/lastBuild/buildNumber --user jenkins用户名:密码) //记得部署Tomcat,然后修改server.xml的端口号,启动Tomcat //根据id号创建文件夹 mkdir /home/apache-tomcat/webapps/ROOT/$result //将生成的报告移动到新建的目录下 cp /root/.jenkins/workspace/项目名/test-output/index.html /home/apache-tomcat/webapps/ROOT/$result/index.html