1、背景
在實際開發中,我們經常要一邊開發一邊測驗,當然這里說的測驗并不是程式員對自己代碼的單元測驗,而是同組程式員將代碼提交后,由測驗人員測驗;
或者前后端分離后,經常會修改介面,然后重新部署;
這些情況都會涉及到頻繁的打包部署;
手動打包常規步驟:
1. 提交代碼
2. 問一下同組小伙伴有沒有要提交的代碼
3. 拉取代碼并打包(war包,或者jar包)
4. 上傳到Linux服務器
5. 查看當前程式是否在運行
6. 關閉當前程式
7. 啟動新的jar包
8. 觀察日志看是否啟動成功
9. 如果有同事說,自己還有代碼沒有提交......再次重復1到8的步驟!!!!!(一上午沒了)
那么,有一種工具能夠實作,將代碼提交到git后就自動打包部署勒,答案是肯定的:Jenkins
當然除了Jenkins以外,也還有其他的工具可以實作自動化部署,如Hudson等
只是Jenkins相對來說,使用得更廣泛,
2、Jenkins服務器搭建及基本配置
2.1.簡介
Jenkins是一個開源軟體專案,是基于Java開發的一種持續集成工具,用于監控持續重復的作業,旨在提供一個開放易用的軟體平臺,使軟體的持續集成變成可能,
2.2.Jenkins自動化部署實作原理

2.3.Jenkins部署環境
基本環境:
1.jdk環境,Jenkins是java語言開發的,因需要jdk環境,
2.git/svn客戶端,因一般代碼是放在git/svn服務器上的,我們需要拉取代碼,
3.maven客戶端,因一般java程式是由maven工程,需要maven打包,當然也有其他打包方式,如:gradle
以上是自動化部署java程式jenkins需要的基本環境,請自己提前安裝好,下面著重講解Jenkins的安裝部署配置,
2.4.Jenkins安裝
1.下載安裝包jenkins.war;
2.在安裝包根路徑下,運行命令 java -jar jenkins.war --httpPort=8080,(linux環境、Windows環境都一樣);
3.打開瀏覽器進入鏈接 http://localhost:8080.
4.填寫初始密碼,激活系統

5.進入插件安裝選擇
這里建議選擇,推薦安裝的插件,保證基本常用的功能可以使用,

選擇后,進入插件安裝頁面

6.設定初始用戶和密碼

7.進入系統,安裝完成

注意,如果還是進入不了系統,需要稍等一下,或者重繪頁面,如果還是進入不了,需要重新啟動jenkinds服務器,
2.5.Jenkins基本配置
2.5.1.系統初始化配置

1.Configure System (系統設定)
在系統設定這里,我們只需要設定最后面的一項,配置遠程服務器地址,
即我們代碼最終運行的服務器地址資訊,就像我們之前手動部署時使用xshell登錄Linux服務器一樣,
當然這里是可以配置多臺遠程Linux服務器的,配置完成后點擊保存即可,為后面我們配置自動化部署做準備,配置如下圖:

2.Configure Global Security (全域安全配置)
a.配置用戶相關的權限

b.配置鉤子程式(當用代碼更新時通知)訪問權限,避免報403錯誤
默認是勾選上了的,這里去掉勾選

3.Global Tool Configuration (全域工具配置 )
a.配置maven的全域settings路徑

不熟悉的可以關注公眾號Java技術堆疊在后臺回復 maven 獲取詳細教程,
b.配置jdk

c.配置git

不熟悉的可以關注公眾號Java技術堆疊在后臺回復 git 獲取詳細教程,
d.配置maven的安裝路徑

4.配置必要插件
主要是檢查如下這兩個插件是否已安裝
插件1:Publish over SSH
插件2:Deploy to container Plugin

到這里,我們配置一個自動化部署的的java程式(springBoot+maven+gitHub),基本必要配置就差不多了,后面配置程序中如果需要在配置,
3、Jenkins自動化部署(springBoot+maven+gitHub)專案
3.1.Jenkins服務器上創建專案和配置
大體步驟:General(基礎配置)--》原始碼管理--》構建觸發器--》構建環境--》構建--》構建后操作
1.創建一個工程

2.General(基礎配置)
僅需填寫標準部分,其他可不填寫

3.原始碼管理

上圖中點擊“添加”按鈕添加一組賬號和密碼

4.構建觸發器

如上圖:當前專案的回呼地址為:
http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2
只要執行這個地址(在瀏覽器上訪問改地址),該專案就會發起一次構建專案,即拉取代碼打包部署操作,
在實際中,是由git服務器回呼改地址,在后面講git服務器配置時詳細講解 ,
值得注意的是,如果你是學習測驗,使用的是GitHub服務,要確保你的回呼地址已經試外網映射過的,即往外網可以訪問
5.構建環境(無需配置)
6.構建

7.構建后操作
構建后操作的意思是,jar打包好后,要將jar發送到哪里去,發送后去和啟動等
這里需要提前在需要部署的服務器上配置好路徑,寫好啟動和停止專案的腳本,并設定為可以執行的腳本,
其實就是我們平時在Linux上手動部署專案操作的腳本

案例中給出的stop.sh腳本如下:
#!/bin/bash
echo "Stop Procedure : Commudity-0.0.1-SNAPSHOT.jar"
pid=`ps -ef |grep java|grep Commudity-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
fi
案例中給出的start.sh腳本如下:
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_131
echo ${JAVA_HOME}
echo 'Start the program : Commudity-0.0.1-SNAPSHOT.jar'
chmod 777 /home/project/demo/Commudity-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'
cd /home/project/demo/
nohup ${JAVA_HOME}/bin/java -jar demo2-0.0.1-SNAPSHOT.jar &
echo 'start success'
到此,Jenkinds服務器配置完成,接下來我還有要配置Linux服務器和Git服務器,
3.2.Linux服務器配置
在Liux服務上,上傳上文中的兩個腳本,用于啟動和停止

3.3.GitHub服務器配置
在GitHub服務器上的指定專案里面配置上文中提到的回呼地址
特別注意:為了保證回呼地址網可以使用,
我已經將地址:http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2,
通過花生殼進行外網映射為:http://zhishidi.imwork.net/job/jenkinsSpringBootDemo/build?token=token_demo2
所以,下面配置的是外網映射地址,

到這里所有配置搞定,只需修改代碼,提交到git,然后訪問程式看是否生效,
4、測驗
1.測驗代碼

2.提交代碼到git,觸發構建
3.在GitHub服務器上去看,是否已經觸發

4.在Jenkins的控制臺查看是否,正在構建
從下圖中可以看出,正在構建

5.查看當次構建的控制臺日志

說明已經啟動成功
6.查看Linux服務器,是否上傳代碼

7.在Linux上使用命令jps,查看是否啟動

8.瀏覽器上訪問,看是否能用

說明,已經正常啟動可以使用,
9.再次確認是否能自動化部署
修改代碼,重新提交代碼,回圈1到8步查看,
如果測驗結果是你預期的,那么自動化部署成功,
官方檔案:https://jenkins.io/zh/doc
著作權宣告:本文為CSDN博主「Xu-BinBin」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,原文鏈接:https://blog.csdn.net/Xbinbin/article/details/103314160
近期熱文推薦:
1.終于靠開源專案弄到 IntelliJ IDEA 激活碼了,真香!
2.我用 Java 8 寫了一段邏輯,同事直呼看不懂,你試試看,,
3.吊打 Tomcat ,Undertow 性能很炸!!
4.國人開源了一款超好用的 Redis 客戶端,真香!!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/99182.html
標籤:Java
