天天看點

Jenkins-基礎

1 概念

持續內建系統的組成:

  1. 一個自動建構過程,包括自動編譯、分發、部署和測試等;
  2. 一個代碼存儲庫,即需要版本控制軟體來保障代碼的可維護性,同時作為建構過程的素材庫;
  3. 一個持續內建伺服器。Jenkins就是一個配置簡單和使用友善的持續內建伺服器。

Jenkins對于maven工程完整的編譯和釋出流程如下:

  1. Jenkins從SVN上拉取代碼到指定的編譯機器上;
  2. 在編譯機器上觸發編譯指令或腳本;
  3. 編譯得到的結果檔案;
  4. 把結果檔案傳到指定的伺服器上。

2 安裝

從Jenkins官方網站 https://jenkins.io/ 下載下傳最新的war包,在本地安裝Java(jdk)的環境以後,在指定路徑下直接執行以下語句啟動:

java -jar jenkins.war

Jenkins-基礎

啟動完畢,如果遇到端口被占用則執行:java -jar jenkins.war --httpPort=1080

可以寫一個批處理去啟動,建立一個txt檔案輸入以下指令,并儲存為.bat檔案

set JENKINS_HOME=d:
cd /d %JENKINS_HOME%
java -jar %JENKINS_HOME%\jenkins.war --httpPort=1080      

通路http://localhost:8080,初始化頁面如圖所示

Jenkins-基礎

解鎖Jenkins,根據提示打開指定路徑的檔案,擷取密碼,并初始化管理者賬戶并完成登入。

Jenkins-基礎

 附:将Jenkins安裝成Windows服務啟動

在Jenkins的首頁中選擇 Manager Jenkins,接下來選擇 Install as Windows Service

Jenkins-基礎

在Installation Directory中選擇jenkin的安裝路徑。這裡會預設産生,直接點選Install

Jenkins-基礎

點選Yes,然後可以看到Windows服務中添加了Jenkins的服務,并已經設定為自動和啟動狀态

Jenkins-基礎

3 配置

3.1 系統設定

點選系統管理->系統設定,進入如下頁面

Jenkins-基礎

3.1.1 工作目錄

用于設定項目的目錄,存放項目的資料,并會給每個項目生成一個Job下的目錄。

3.1.2 執行者數量

可以了解為并發量,即Jenkins配置多個項目建構任務,同時執行的最大數量。

3.1.3 生成前的等待時間

建構任務地緩沖時間

Jenkins-基礎

3.1.4 Jenkins URL

設定用于郵件發送的位址,用來在郵件中産生連結位址,一般配置内網IP和對應端口

3.1.5 系統管理者郵件位址

設定完成建構後發送郵件的發送人的郵箱,與郵件通知對應的郵箱需要一緻。

3.2 全局安全設定

預設情況下,任何使用者都可以使用 Jenkins 進行釋出。

可以進入相關設定:系統管理/Configure Global Security(全局安全配置), 選擇Jenkins專有使用者資料庫,不要選中允許使用者注冊;選擇登入使用者可做任何事,選中Allow anoymous read access

3.3 管理插件

3.3.1 離線安裝

手工下載下傳(*.hpi): http://updates.jenkins-ci.org/download/plugins/ 

進入:系統管理 / 管理插件 / 進階,然後上傳插件進行安裝。 

無需重新開機 Jenkins 插件即生效。

3.3.2 線上安裝 

進入:系統管理 / 管理插件 / 可選插件,查找并勾選所需插件,點選“直接安裝”。

無需重新開機 Jenkins 插件即生效。如遇失敗可重試或離線安裝。

Jenkins-基礎

4 建構

4.1 建立任務

首頁:點選“建立”; 項目類型:輸入項目名稱project,類型選擇”建構一個自由風格的軟體項目”。

Jenkins-基礎

4.1.1 丢棄舊的建構

自動删除建構,不勾選則保留全部建構記錄,勾選後可以按照時間和建構個數規則進行自動删除。

Jenkins-基礎

4.1.2 關閉建構

預設不關閉。

4.1.3 安靜期

建構前的等待時間,預設會讀取系統配置的建構前等待時間,如果勾選并且設定對應的時間,則優先讀取這個設定。

4.1.4 重複次數

當代碼庫擷取代碼失敗時重新執行指定的次數。

Jenkins-基礎

這裡需要注意:使用自定義的工作空間

4.2 源碼管理

一般常用的是svn和git這兩種源碼管理工具。

預設為無,如有則勾選對應的工具,輸入URL,在Credentials添加賬号密碼,在Branches to build中設定需要處理的代碼分支。

Jenkins-基礎

4.3 建構觸發器

4.3.1 觸發遠端建構

需要遠端腳本或者指令觸發。

4.3.2 其他工程建構後觸發

完成某個建構任務之後執行這個建構任務。

4.3.3 定時建構

定時觸發建構,可以指定建構時間。

4.3.4 輪詢SCM(Poll SCM)

定時檢查源代碼是否更新,隻有更新代碼才會觸發。與4.3.3都是通過日程表的配置來完成的,日程表需要填入5個數值:分鐘、小時、天、月、星期,并通過tabn鍵間隔。

  • 每20分鐘進行建構 20 * * * *
  • 每天10點進行建構 0 10 * * *
  • 每天10點-18點每2小時進行建構 0 10-18/2 * * *
  • 工作日10點-16點每2小時進行建構 0 10-16/2 * * 1-5 

4.4 設定建構

Jenkins-基礎

4.4.1 執行Windows批處理指令

類似于輸入cmd指令,可以再指令行指定調用Python指令執行測試腳本

Jenkins-基礎

4.4.2 執行shell

在Linux下執行的腳本指令。

以上都可以新增多個建構,按照順序執行。

5 運作建構任務

點選“立即建構”

Jenkins-基礎

點選“控制台輸出”,檢視失敗的日志。

Jenkins-基礎

轉載于:https://www.cnblogs.com/cirr-zhou/p/8527162.html