天天看點

Jenkins-持續內建(建構一個新工程)

在上一手記中,告訴大家如何安裝jenkins,如何安裝jenkins的插件。

這一記,jeson主要記錄如何通過通過jenkins構件一個工程。

一、配置jdk和maven依賴

上記中,我們安裝的隻是jenkins中的插件,為了保證maven建構能夠進行,我們需要安裝我我們需要對應版本的jdk版本和maven。

點選進入:

manage jenkins(jenkins管理)-global tool configuration(工具配置)

1.1 jdk配置

提供的4種途徑的方式,可以給我們安裝。這裡我選擇通過oracle來安裝。這種方式我們需要提供給jenkins自己的oracle使用者密碼(可以去oracle自己注冊),用來下載下傳用。 

Jenkins-持續內建(建構一個新工程)

1.2 maven安裝 

maven也是一樣,我們可新增maven按鈕,通過apache來安裝,設定如下: 

Jenkins-持續內建(建構一個新工程)

二、建立一個maven工程

首頁-> create new jobs 選擇 maven project(maven工程) 

并且,輸入給這個新工程取名。 

Jenkins-持續內建(建構一個新工程)

進入到工程的基本資訊編輯頁面,會出現了如下的幾大子產品編輯欄:

general 設定基本内容

source code management 設定工程代碼擷取方式和管理

build triggers 選擇工程建構觸發的條件

build environment 選擇工程build及建構的環境配置

pre steps 建構前需要執行的工作

build 正式進行建構,設定pom.xml檔案。

post steps 設定建構完成後的動作,我們用來作後續工程部署等批處理設定

build settings 主要用于設定email的通知

post-build actions 設定前面的 build到build settings的動作執行完後的後續工作。

下面,我們一步步來介紹下 完成一個工程建構主要設定的部分。

部分1、maven project name 欄設定

主要填寫maven project name(工程名)、descript(工程描述資訊)

部分2、source code management 欄設定

輸入源碼的擷取位址,由于我的插件中示範的是svn,那麼如下輸入:

repository depth: jenkins在執行checkout、update代碼時,所取出的代碼的範圍。預設我們選擇infinity就可以。

check-out strategy:svn第一次更新代碼和以後同步代碼的步驟,和政策。預設選項一般就可以。

Jenkins-持續內建(建構一個新工程)

部分3、build triggers 欄設定

預設選項為:

build whenever a snapshot dependency is buil 意思就是svn更新觸發建構

這裡建議選擇:

poll scm 相當于建立一個計劃任務,定時檢查版本庫,發現有新的送出就觸發建構。其配置的意思呵linux的crontab差不多,如下: 

我配置的每十分鐘進行一次建構。

Jenkins-持續內建(建構一個新工程)

部分4、build 欄設定

如果對mvn建構參數有需求,或者需要設定pom.xml的檔案位置,可以在這裡設定。

預設: pom.xml的檔案就在工程目錄下。

部分5、完成

點 save 完成對一個一個工程的設定。

三、操作建構

切換到jenkins的首頁上,将出現了我新加的工程。如下圖:

Jenkins-持續內建(建構一個新工程)

3.1 啟動建構

點選上圖的的對應工程project name.進入到進入到jeson_test_project這個工程的操作模式下,如下圖:

Jenkins-持續內建(建構一個新工程)

3.2 點選build now,表示開始建構

第一次根據你伺服器的網絡品質好壞,時間較長,因為jenkins需要安裝jdk,maven ,并且還需要安裝很多封包件。

build history 顯示出我建構的一個曆史資訊,其中閃爍不斷的圖示,表示正在建構的任務。 

Jenkins-持續內建(建構一個新工程)

點選 正在建構的任務,在右側又會出現很多的執行選項,如下圖:

Jenkins-持續內建(建構一個新工程)

點選console output,就可以看到正在建構的任務終端輸出,如下圖:

Jenkins-持續內建(建構一個新工程)

這一記,jeson先較大家,如何進行一個簡單的工程任務建構。我們確定工程的建構成功(如果沒有報錯,建構成功後,閃爍的圖示會又紅色變化為藍色)