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

相關文章
相關標籤/搜索