微服务利用Jenkins+GitLab一键自动打包部署

1、构建maven项目

微服务利用Jenkins+GitLab一键自动打包部署_第1张图片

2、保留历史构建的份数

微服务利用Jenkins+GitLab一键自动打包部署_第2张图片

3.指定本地GitLab地址

微服务利用Jenkins+GitLab一键自动打包部署_第3张图片

4.点击ADD,添加SSH

微服务利用Jenkins+GitLab一键自动打包部署_第4张图片

5、可以指定远端仓库名,以及构建的分支

微服务利用Jenkins+GitLab一键自动打包部署_第5张图片

6.获取父工程的pom文件,以及打包命令

7.Build后操作

          ①勾选生成成功后执行

          ②选择shell脚本

微服务利用Jenkins+GitLab一键自动打包部署_第6张图片

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、一键部署

微服务利用Jenkins+GitLab一键自动打包部署_第7张图片

9、可能出现的问题

          ①没有Maven项目构建选项的话

                       安装插件  Manage Jenkins--->Plugin Manager--->Available   搜索  Maven Integration plugin

          ②如何获取SSH     

                       ssh-keygen     

                       cat ~/.ssh/id_rsa.pub

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Linux)