一、全局配置
image.png1.配置maven settings
image.png
2.配置git命令
image.png
二、项目配置
-
基本的配置
1.png
2.git配置,已在全局配置中配置好git,jenkins默认会把代码下载到自己的jenkins/workspace文件夹下。
git.png -
build配置,源代码已经下载到workspace下,然后指定一下pom.xml开始编译打包。这里用的项目是springboot,分多模块,通过-pl参数指定只打包那个模块,-am参数表示依赖包也一同打包编译。
build.png
4.shell配置。编译结束后就要运行项目了,springboot项目直接可以通过java -jar命令运行。编译后的jar包,和我们idea一样在target包下(jenkins目录下的workspace/项目名/target包下),同时jenkins,如果已经配置好了全局maven仓库,jar包会也会被复制进本地仓库中(.m2/吧啦吧啦的地址下)。然后我们只需要让jenkins运行shell即可(也可以直接写java命令运行,我是写了个脚本放到/root/proj下了,所以运行脚本即可)。
这里需要注意BUILD_ID=DONTKILLME,保证shell命令后台运行不被终结。
另外需要注意权限的问题。
shell.png
start.sh:如果环境变量已经在jenkins的全局配置中配置好了,可以省略的。另外,如果用workspace中的jar包,那么给jar包赋予可执行权限也是必要的,否则使用maven默认仓库里的jar包即可
#!/bin/bash
export JAVA_HOME=/usr/local/src/jdk1.8.0_211
echo ${JAVA_HOME}
cp /root/.jenkins/workspace/test2/target/lottery-matcher.jar /proj
echo "授权当前用户"
chmod 777 /proj/lottery-matcher.jar
echo "执行...."
cd /proj
nohup ${JAVA_HOME}/bin/java -jar lottery-matcher.jar > /dev/null &
echo "启动成功"
stop.sh
#!/bin/bash
echo "stop SpringBoot Application"
pid=`ps -ef | grep lottery-matcher.jar | grep -v grep | awk '{print $2}'`
echo “旧应用进程id:$pid”
if [ -n "$pid" ]
then
kill -9 $pid
fi
网友评论