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,則會看到這樣:

springBoot集成Jenkins,實現自動化部署

按照步驟操作

springBoot集成Jenkins,實現自動化部署

失敗不要緊,重試就好

springBoot集成Jenkins,實現自動化部署

springBoot集成Jenkins,實現自動化部署

需要安裝的插件默認安裝就好了

第二部分:Jenkins集成springboot

進入Jenkins後,添加任務

springBoot集成Jenkins,實現自動化部署

選取maven項目,如果沒有maven項目的話,可以去插件管理中去下載,在集成這部分前,服務器上要安裝好git,maven,git版本最好大於1.7,以及jdk,然後在Jenkins中的全局工具配置中配置jdk以及maven的路徑:

springBoot集成Jenkins,實現自動化部署

創建完任務後:進入任務配置

springBoot集成Jenkins,實現自動化部署

springBoot集成Jenkins,實現自動化部署

springBoot集成Jenkins,實現自動化部署

springBoot集成Jenkins,實現自動化部署

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


分享到:


相關文章: