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

1.首先安装Jenkinsjava

导入源&&yum安装git

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启动以前的注意事项,方便后面操做以及少采坑:web

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

vi /etc/sysconfig/jenkins

--------------------------------
找到 JENKINS_USER 和JENKINS_PORT ,修改成root和你须要的端口

JENKINS_USER="root"
JENKINS_PORT="8081"

修改完成后就能够启动Jenkins了shell

service jenkins start
service jenkins stop
service jenkins restart

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

而后再浏览器中输入ip+端口号就能够访问了,好比:http:192.168.31.101:8081,则会看到这样:tomcat

按照步骤操做springboot

失败没关系,重试就好bash

须要安装的插件默认安装就行了服务器

第二部分:Jenkins集成springboot

进入Jenkins后,添加任务

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

 

 

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

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

相关文章
相关标签/搜索