springBoot集成Jenkins,实现自动化部署 - Go语言中文社区

springBoot集成Jenkins,实现自动化部署


1.首先安装Jenkins

导入源&&yum安装

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

安装完成后Jenkins启动之前的注意事项,方便后面操作以及少采坑:

默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。

vi /etc/sysconfig/jenkins

--------------------------------
找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口

JENKINS_USER="root"
JENKINS_PORT="8081"

修改完成后就可以启动Jenkins了

service jenkins start
service jenkins stop
service jenkins restart

启动完成后排查防火墙是否为Jenkins设置的端口开放

然后再浏览器中输入ip+端口号就可以访问了,比如:http:192.168.31.101:8081,则会看到这样:

dd50d3903d598a6f87fd38b8caa4fa82e00.jpg

按照步骤操作

2b31ae7e072e1912c49a24321e5197073ea.jpg

失败不要紧,重试就好

2a2c13a20174434f182726919a320ad9b75.jpg

25943a110d0227c6cf43ae35581489bda9b.jpg

需要安装的插件默认安装就好了

第二部分:Jenkins集成springboot

进入Jenkins后,添加任务

c95f9abf081198a3c55bec020de9d23d13b.jpg

选取maven项目,如果没有maven项目的话,可以去插件管理中去下载,在集成这部分前,服务器上要安装好git,maven,git版本最好大于1.7,以及jdk,然后在Jenkins中的全局工具配置中配置jdk以及maven的路径:

ebe4a300427b47e49edbe322f273b33e4ea.jpg

 

 

创建完任务后:进入任务配置

ed230de47325361fbf04a5f4e5cd3128704.jpg

b3d879cb05c5512ecdde661ca05722eaa95.jpg

1bfed7afd88f5fa70cf7db9254afef606a3.jpg

d529bb3fd6906acb6173659cfb784b31a2c.jpg

Jenkins将代码从你配的分支上拉下来,然后copy到指定执行的文件夹内,然后执行启动,shell脚本:

#!/bin/bash 

#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe

#指定最后编译好的jar存放的位置
www_path=/var/codespace/test/

#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/jobs/shaw/workspace/shaw-web/target/

#Jenkins中编译好的jar名称
jar_name=shaw.jar

#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /var/codespace/test/shaw-test-web.pid)

#进入指定的编译好的jar的位置
cd  ${jar_path}

#将编译好的jar复制到最后指定的位置
cp  ${jar_path}/${jar_name} ${www_path}

#进入最后指定存放jar的位置
cd  ${www_path}

#杀掉以前可能启动的项目进程
kill -9 ${pid}

#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar -Dspring.profiles.active=test ${jar_name} &

#将进程ID存入到shaw-web.pid文件中
echo $! > /var/codespace/test/shaw-test-web.pid

最后保存这个配置

最后一步,运行springboot

 

转载于:https://my.oschina.net/tonystark/blog/1920889

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_33795743/article/details/92072917
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 19:38:04
  • 阅读 ( 1159 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢