Jenkins自动化部署后端Spring Boot项目

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 Jenkins自动化部署后端Spring Boot项目,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

摘要

基于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

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!