摘要
基于Jenkins完成基本配置以及懂得Jenkins的基本使用条件下,使用Jenkins自动化部署后端SpringBoot项目
Jenkins基本操作参考:Jenkins的四种安装部署方式以及Jenkins的基本配置与基本使用
新建任务工程
配置Jenkins项目
配置参数化构建
使用参数化构建,可以在shell脚本中通过 $参数名得到配置的参数值,从而减少将 shell 脚本写死的情况
配置源码管理
选择Git,从Git仓库拉取源码进行构建
构建触发器
Jenkins自动触发构建参考:Jenkins结合Gitee、Github、Gitlab、SVN自动构建部署
配置构建操作
执行清理、打包、跳过测试操作,稍后使用生成的Jar文件。
配置Shell脚本,代替人为重复操作。
sleep 2
path=/usr/local/program/myweb
echo app name : $appName
echo app run path : $path
api_pid=`ps -ef | grep "$appName.jar" | grep -v grep | awk '{print $2}'`
echo api_pid = $api_pid
if [ "$api_pid" != "" ]; then
echo kill api
kill -9 $api_pid
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
fi
mv /root/.jenkins/workspace/dataGenerateTool/admin/target/$appName.jar $path
cd $path
BUILD_ID=dontKillMe
nohup java -jar $appName.jar >> myweb.log 2>&1 &
echo $appName start success
exit 0
执行测试
传入构建参数,执行构建操作。
构建日志
17:09:16 [dataGenerateTool] $ /usr/local/maven/bin/mvn -s /usr/local/maven/conf/settings.xml -gs /usr/local/maven/conf/settings.xml clean package -Dmaven.test.skip=true
17:09:19 [INFO] Scanning for projects...
17:09:20 [INFO] ------------------------------------------------------------------------
17:09:20 [INFO] Reactor Build Order:
17:09:20 [INFO]
17:09:20 [INFO] dataGenerateTool [pom]
17:09:20 [INFO] admin [jar]
17:09:20 [INFO]
17:09:20 [INFO] ----------------------< cn.ybzy:dataGenerateTool >----------------------
17:09:20 [INFO] Building dataGenerateTool 0.0.1-SNAPSHOT [1/2]
17:09:20 [INFO] --------------------------------[ pom ]---------------------------------
17:09:21 [INFO]
17:09:21 [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ dataGenerateTool ---
17:09:21 [INFO]
17:09:21 [INFO] --- spring-boot-maven-plugin:2.3.8.RELEASE:repackage (repackage) @ dataGenerateTool ---
17:09:22 [INFO]
17:09:22 [INFO] ---------------------------< cn.ybzy:admin >----------------------------
17:09:22 [INFO] Building admin 0.0.1-SNAPSHOT [2/2]
17:09:22 [INFO] --------------------------------[ jar ]---------------------------------
17:09:23 [INFO]
17:09:23 [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ admin ---
17:09:23 [INFO] Deleting /root/.jenkins/workspace/dataGenerateTool/admin/target
17:09:23 [INFO]
17:09:23 [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ admin ---
17:09:23 [INFO] Using 'UTF-8' encoding to copy filtered resources.
17:09:23 [INFO] Copying 2 resources
17:09:23 [INFO] Copying 1 resource
17:09:23 [INFO]
17:09:23 [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ admin ---
17:09:24 [INFO] Changes detected - recompiling the module!
17:09:24 [INFO] Compiling 20 source files to /root/.jenkins/workspace/dataGenerateTool/admin/target/classes
17:09:30 [INFO] /root/.jenkins/workspace/dataGenerateTool/admin/src/main/java/cn/ybzy/datageneratetool/service/impl/StationServiceImpl.java: Some input files use or override a deprecated API.
17:09:30 [INFO] /root/.jenkins/workspace/dataGenerateTool/admin/src/main/java/cn/ybzy/datageneratetool/service/impl/StationServiceImpl.java: Recompile with -Xlint:deprecation for details.
17:09:30 [INFO]
17:09:30 [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ admin ---
17:09:30 [INFO] Not copying test resources
17:09:30 [INFO]
17:09:30 [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ admin ---
17:09:30 [INFO] Not compiling test sources
17:09:30 [INFO]
17:09:30 [INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ admin ---
17:09:31 [INFO] Tests are skipped.
17:09:31 [INFO]
17:09:31 [INFO] --- maven-jar-plugin:3.2.0:jar (default-jar) @ admin ---
17:09:32 [INFO] Building jar: /root/.jenkins/workspace/dataGenerateTool/admin/target/admin-0.0.1-SNAPSHOT.jar
17:09:32 [INFO]
17:09:32 [INFO] --- spring-boot-maven-plugin:2.3.8.RELEASE:repackage (repackage) @ admin ---
17:09:33 [INFO] Replacing main artifact with repackaged archive
17:09:33 [INFO] ------------------------------------------------------------------------
17:09:33 [INFO] Reactor Summary for dataGenerateTool 0.0.1-SNAPSHOT:
17:09:33 [INFO]
17:09:33 [INFO] dataGenerateTool ................................... SUCCESS [ 2.438 s]
17:09:33 [INFO] admin .............................................. SUCCESS [ 10.890 s]
17:09:33 [INFO] ------------------------------------------------------------------------
17:09:33 [INFO] BUILD SUCCESS
17:09:33 [INFO] ------------------------------------------------------------------------
17:09:33 [INFO] Total time: 14.124 s
17:09:33 [INFO] Finished at: 2022-06-08T09:09:33Z
17:09:33 [INFO] ------------------------------------------------------------------------
17:10:01 + sleep 2
17:10:03 + path=/usr/local/program/myweb
17:10:03 + echo app name : admin-0.0.1-SNAPSHOT
17:10:03 app name : admin-0.0.1-SNAPSHOT
17:10:03 + echo app run path : /usr/local/program/myweb
17:10:03 app run path : /usr/local/program/myweb
17:10:03 ++ ps -ef
17:10:03 ++ grep admin-0.0.1-SNAPSHOT.jar
17:10:03 ++ grep -v grep
17:10:03 ++ awk '{print $2}'
17:10:03 + api_pid=7385
17:10:03 + echo api_pid = 7385
17:10:03 api_pid = 7385
17:10:03 + '[' 7385 '!=' '' ']'
17:10:03 + echo kill api
17:10:03 kill api
17:10:03 + kill -9 7385
17:10:03 + echo sleep 3s
17:10:03 sleep 3s
17:10:03 + sleep 1
17:10:04 + echo sleep 2s
17:10:04 sleep 2s
17:10:04 + sleep 1
17:10:05 + echo sleep 1s
17:10:05 sleep 1s
17:10:05 + sleep 1
17:10:06 + mv /root/.jenkins/workspace/dataGenerateTool/admin/target/admin-0.0.1-SNAPSHOT.jar /usr/local/program/myweb
17:10:06 + cd /usr/local/program/myweb
17:10:06 + echo start success
17:10:06 admin-0.0.1-SNAPSHOT start success
17:10:06 + exit 0
17:10:06 + nohup java -jar admin-0.0.1-SNAPSHOT.jar
17:10:06 Finished: SUCCESS
Linux服务器上查看验证
[root@bp-centos-0 dataGenerateTool]# cd /usr/local/program/myweb/
[root@bp-centos-0 myweb]# ls
admin-0.0.1-SNAPSHOT.jar myweb.log
[root@bp-centos-0 myweb]# ps -ef | grep admin-0.0.1-SNAPSHOT.jar
root 29274 1 78 09:19 ? 00:00:10 java -jar admin-0.0.1-SNAPSHOT.jar
root 29956 20326 0 09:19 pts/4 00:00:00 grep --color=auto admin-0.0.1-SNAPSHOT.jar
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136952.html