1、构建maven项目
2、保留历史构建的份数
3.指定本地GitLab地址
4.点击ADD,添加SSH
5、可以指定远端仓库名,以及构建的分支
6.获取父工程的pom文件,以及打包命令
7.Build后操作
①勾选生成成功后执行
②选择shell脚本
shell脚本参考
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
#指定最后编译好的jar存放的位置 即是发布目录
jar_path=/var/lib/jenkins/workspace
#Jenkins中编译好的jar位置 即是编译目录
jar_path_register=/var/lib/jenkins/workspace/pigx/pigx-register/target
jar_path_auth=/var/lib/jenkins/workspace/pigx/pigx-auth/target
jar_path_gateway=/var/lib/jenkins/workspace/pigx/pigx-gateway/target
jar_path_upms=/var/lib/jenkins/workspace/pigx/pigx-upms/pigx-upms-biz/target
#Jenkins中编译好的jar名称
jar_name_register=pigx-register.jar
jar_name_auth=pigx-auth.jar
jar_name_gateway=pigx-gateway.jar
jar_name_upms=pigx-upms-biz.jar
#将编译好的jar复制到最后指定的位置
cp ${jar_path_register}/${jar_name_register} ${jar_path}/tzh/${jar_name_register}
cp ${jar_path_auth}/${jar_name_auth} ${jar_path}/tzh/${jar_name_auth}
cp ${jar_path_gateway}/${jar_name_gateway} ${jar_path}/tzh/${jar_name_gateway}
cp ${jar_path_upms}/${jar_name_upms} ${jar_path}/tzh/${jar_name_upms}
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid1=$(pgrep -f pigx-register.jar)
pid2=$(pgrep -f pigx-auth.jar)
pid3=$(pgrep -f pigx-gateway.jar)
pid4=$(pgrep -f pigx-upms-biz.jar)
echo ${pid1} ${pid2} ${pid3} ${pid4}
#依次启动子服务
sleep 30
java -Xmx512m -jar ${jar_path}/tzh/pigx-register.jar > ${jar_path}/tzh_log/pigx-register.log 2>&1 &
sleep 30
java -Xmx512m -jar ${jar_path}/tzh/pigx-auth.jar > ${jar_path}/tzh_log/pigx-auth.log 2>&1 &
sleep 30
java -Xmx512m -jar ${jar_path}/tzh/pigx-gateway.jar > ${jar_path}/tzh_log/pigx-gateway.log 2>&1 &
sleep 30
java -Xmx512m -jar ${jar_path}/tzh/pigx-upms-biz.jar > ${jar_path}/tzh_log/pigx-upms-biz.log 2>&1 &
#关闭上次启动的子服务
kill ${pid1} ${pid2} ${pid3} ${pid4}
8、一键部署
9、可能出现的问题
①没有Maven项目构建选项的话
安装插件 Manage Jenkins--->Plugin Manager--->Available 搜索 Maven Integration plugin
②如何获取SSH
ssh-keygen
cat ~/.ssh/id_rsa.pub