参考文章
1.安装git maven jenkins
-
安装git和maven比较简单,这一步可自行百度
-
安装jenkins
如果没有wget命令就通过yum install wget
安装
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
后面的配置有点啰嗦,而且本人配置过了,就跳过这一步介绍,可参考文章
一步一步跟着配置就好了
2.构建项目并发布
2.1新建任务
创建一个自由风格的软件项目
2.2配置文本参数
jar_path:本意是准备项目打包后的jar位置,其实这里是Jenkins工作空间
同样添加其他三个文本参数
spring_profile: prod(这个是读取配置文件前缀,比如dev,test,prod)
jar_name :xxx.jar(jar包名称,这个由你项目的pom.xml文件决定,一般是xxx.0.0.1-SNAPSHORT.jar)
project_name :testProject(项目名称,一定要是你新建的jenkins任务的项目名称,如果用git项目的项目名称的话就找不到相应的文件了)
2.3添加git项目地址
认证那里配置centos 服务器的root账号密码
点击添加就好了
2.3配置构建
添加脚本
mvn clean install -Dmaven.test.skip=true
echo $spring_profile $jar_path $jar_name
cd /usr/local/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
./startup.sh $spring_profile $jar_path $jar_name $project_name
使用了两个脚本,在centos服务器/usr/local/shell/创建脚本stop.sh和startup.sh
stop.sh
ar_name=${1}
echo "Stopping" ${jar_name}
pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
startup.sh
spring_profile=${1}
jar_path=${2}
jar_name=${3}
project_name=${4}
cd ${jar_path}/${project_name}/target/
echo ${jar_path}/${project_name}/target/
echo nohup java -jar ${jar_name} &
BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &
!!!注意
执行命令chmod 777 /usr/local/stop.sh /usr/local/startup.sh
更改脚本权限,不然执行构建项目的时候会没有权限错误
这个时候脚本会变成绿颜色
3.运行项目
点击立即构建
这是用另一个项目成功的截图
运行的时候我也跟原作者报了同样的错误,说我的mvn命令不存在
解决方法:将mvn命令也指向/usr/bin/mvn
ln -s /usr/local/maven/bin/mvn /usr/bin/mvn
/usr/local/maven一定要是你自己安装的maven目录
下面的状态就是运行中,可以点击#6进去查看控制台输出
运行成功!
可查看项目的工作空间(也就是在/var/lib/jenkins//workspace/posProject下的文件)
(网上也有很多不是构建自由项目的,通过jenkins构建maven项目来部署的,踩了好多坑,我最后通过这个方法成功了,感谢原作者,我自己就完善了一下)
END