天天看點

Jenkins 自動化部署 Java 項目,厲害~4、測試

或者前後端分離後,經常會修改接口,然後重新部署;

這些情況都會涉及到頻繁的打包部署;

手動打包正常步驟:

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.填寫初始密碼,激活系統

Jenkins 自動化部署 Java 項目,厲害~4、測試

5.進入插件安裝選擇

這裡建議選擇,推薦安裝的插件,保證基本常用的功能可以使用。

Jenkins 自動化部署 Java 項目,厲害~4、測試
選擇後,進入插件安裝頁面
Jenkins 自動化部署 Java 項目,厲害~4、測試
6.設定初始使用者和密碼
Jenkins 自動化部署 Java 項目,厲害~4、測試
7.進入系統,安裝完成
Jenkins 自動化部署 Java 項目,厲害~4、測試
注意,如果還是進入不了系統,需要稍等一下,或者重新整理頁面,如果還是進入不了,需要重新啟動jenkinds伺服器。

2.5.Jenkins基本配置

2.5.1.系統初始化配置

Jenkins 自動化部署 Java 項目,厲害~4、測試

1.Configure System (系統設定)

在系統設定這裡,我們隻需要設定最後面的一項,配置遠端伺服器位址,

即我們代碼最終運作的伺服器位址資訊,就像我們之前手動部署時使用xshell登入Linux伺服器一樣,

當然這裡是可以配置多台遠端Linux伺服器的,配置完成後點選儲存即可,為後面我們配置自動化部署做準備,配置如下圖:

Jenkins 自動化部署 Java 項目,厲害~4、測試

2.Configure Global Security (全局安全配置)

a.配置使用者相關的權限

Jenkins 自動化部署 Java 項目,厲害~4、測試

b.配置鈎子程式(當用代碼更新時通知)通路權限,避免報403錯誤

預設是勾選上了的,這裡去掉勾選

Jenkins 自動化部署 Java 項目,厲害~4、測試

3.Global Tool Configuration (全局工具配置 )

a.配置maven的全局settings路徑

Jenkins 自動化部署 Java 項目,厲害~4、測試

不熟悉的可以關注公衆号Java技術棧在背景回複 maven 擷取詳細教程。

b.配置jdk

Jenkins 自動化部署 Java 項目,厲害~4、測試

c.配置git

Jenkins 自動化部署 Java 項目,厲害~4、測試

不熟悉的可以關注公衆号Java技術棧在背景回複 git 擷取詳細教程。

d.配置maven的安裝路徑

Jenkins 自動化部署 Java 項目,厲害~4、測試

4.配置必要插件

主要是檢查如下這兩個插件是否已安裝

插件1:Publish over SSH 插件2:Deploy to container Plugin

Jenkins 自動化部署 Java 項目,厲害~4、測試

到這裡,我們配置一個自動化部署的的java程式(springBoot+maven+gitHub),基本必要配置就差不多了,後面配置過程中如果需要在配置。

3、Jenkins自動化部署(springBoot+maven+gitHub)項目

3.1.Jenkins伺服器上建立項目和配置

大體步驟:General(基礎配置)--》源碼管理--》建構觸發器--》建構環境--》建構--》建構後操作

1.建立一個工程

Jenkins 自動化部署 Java 項目,厲害~4、測試

2.General(基礎配置)

僅需填寫标準部分,其他可不填寫

Jenkins 自動化部署 Java 項目,厲害~4、測試

3.源碼管理

Jenkins 自動化部署 Java 項目,厲害~4、測試

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

Jenkins 自動化部署 Java 項目,厲害~4、測試

4.建構觸發器

Jenkins 自動化部署 Java 項目,厲害~4、測試

如上圖:目前項目的回調位址為:

http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2

隻要執行這個位址(在浏覽器上通路改位址),該項目就會發起一次建構項目,即拉取代碼打包部署操作,

在實際中,是由git伺服器回調改位址,在後面講git伺服器配置時詳細講解 ,

值得注意的是,如果你是學習測試,使用的是GitHub服務,要確定你的回調位址已經試外網映射過的,即往外網可以通路

5.建構環境(無需配置)

6.建構

Jenkins 自動化部署 Java 項目,厲害~4、測試

7.建構後操作

建構後操作的意思是,jar打包好後,要将jar發送到哪裡去,發送後去和啟動等

這裡需要提前在需要部署的伺服器上配置好路徑,寫好啟動和停止項目的腳本,并設定為可以執行的腳本,

其實就是我們平時在Linux上手動部署項目操作的腳本

Jenkins 自動化部署 Java 項目,厲害~4、測試

案例中給出的stop.sh腳本如下:

Jenkins 自動化部署 Java 項目,厲害~4、測試

到此,Jenkinds伺服器配置完成,接下來我還有要配置Linux伺服器和Git伺服器。

3.2.Linux伺服器配置

在Liux服務上,上傳上文中的兩個腳本,用于啟動和停止

Jenkins 自動化部署 Java 項目,厲害~4、測試

3.3.GitHub伺服器配置

在GitHub伺服器上的指定項目裡面配置上文中提到的回調位址

特别注意:為了保證回調位址網可以使用,

我已經将位址:http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2,

通過花生殼進行外網映射為:

http://zhishidi.imwork.net/job/jenkinsSpringBootDemo/build?token=token_demo2

是以,下面配置的是外網映射位址。

Jenkins 自動化部署 Java 項目,厲害~4、測試

到這裡所有配置搞定,隻需修改代碼,送出到git,然後通路程式看是否生效。

4、測試

1.測試代碼

Jenkins 自動化部署 Java 項目,厲害~4、測試

2.送出代碼到git,觸發建構

3.在GitHub伺服器上去看,是否已經觸發

Jenkins 自動化部署 Java 項目,厲害~4、測試

4.在Jenkins的控制台檢視是否,正在建構

從下圖中可以看出,正在建構

Jenkins 自動化部署 Java 項目,厲害~4、測試

5.檢視當次建構的控制台日志

Jenkins 自動化部署 Java 項目,厲害~4、測試

說明已經啟動成功

6.檢視Linux伺服器,是否上傳代碼

Jenkins 自動化部署 Java 項目,厲害~4、測試

7.在Linux上使用指令jps,檢視是否啟動

Jenkins 自動化部署 Java 項目,厲害~4、測試

8.浏覽器上通路,看是否能用

Jenkins 自動化部署 Java 項目,厲害~4、測試

說明,已經正常啟動可以使用。

9.再次确認是否能自動化部署

修改代碼,重新送出代碼,循環1到8步檢視。

如果測試結果是你預期的,那麼自動化部署成功。

官方文檔:

https://jenkins.io/zh/doc