Jenkins 介紹:
Jenkins是一個獨立的開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟件平台,使軟件的持續集成
變成可能。前身是Hudson是一個可擴展的持續集成引擎。可用於自動化各種任務,如構建,測試和部署軟件。Jenkins可以通過本機系統包Docker安裝,甚至可
以通過安裝Java Runtime Environment的任何機器獨立運行。
主要用於:
- 持續、自動地構建/測試軟件項目,如CruiseControl與DamageControl。
- 監控一些定時執行的任務。
Jenkins特點:
- 開源免費;
- 跨平台,支持所有的平台;
- master/slave支持分布式的build;
- web形式的可視化的管理頁面;
- 安裝配置簡單;
- tips及時快速的幫助;
- 具有很多個插件
通常項目的發布需要執行下面的步驟,其中紅色框中的部分都可以使用Jenkins來完成.
一、安裝Jenkins以及創建
官網:https://jenkins.io/ 官方文檔:https://jenkins.io/zh/doc/
下載地址:https://jenkins.io/zh/download/
根據自己的系統選中正確的版本進行安裝.具體的步驟就省略了,都是根據提示下一步下一步.網上也很多介紹.
安裝完成之后點擊左邊菜單欄 新建Item
選擇輸入任務名稱並選擇第一種Freestyle project,
二、General
1.描述
2.策略,每次觸發構建都存有相應的記錄在這里可以設置記錄保存幾天,保存記錄的個數,避免記錄過多占用不必要的空間.
3.Github項目的話可直接填寫Github項目的地址
4.這次構建時鎖定的資源
5.參數化構建(可選構建是傳遞的參數,根據參數動態構建,后面會仔細的介紹)
6.截流構建,規定時間內限制構建次數.
7.關閉構建,特殊情況下想關閉這個job,避免發生錯誤構建時可勾上.
8.並發構建,選中此選項后,可以並行執行此項目的多個構建。默認情況下,一次只執行一個項目的構建——開始構建該項目的任何其他請求都將保留在構建隊列中,直到第一個構建完成。
這是一個安全的默認設置,因為項目常常需要對某些資源(如數據庫或硬件)進行獨占訪問。但是啟用這個選項后,如果有足夠的構建執行者可用來處理這個項目,那么這個項目
的多個構建將並行進行。如果在任何時候都沒有足夠的執行器可用,那么任何進一步的構建請求都將正常地保存在構建隊列中。
啟用並發構建對於執行冗長測試套件的項目非常有用,因為它允許每個構建包含更少的更改,而總周轉時間會減少,因為后續構建不需要等待以前的測試運行完成。
該特性對於參數化的項目也很有用,這些項目的單個構建執行(取決於使用的參數)可以完全獨立於其他項目。
每個並發執行的構建都發生在其自己的構建工作區中,與任何其他構建隔離。默認情況下,Jenkins將“@”附加到工作空間目錄名,例如。“@2”。
分隔符“@”可以通過設置hudson.slaves來更改。在啟動Jenkins時,WorkspaceList Java系統屬性。例如,“hudson.slaves。將分隔符改為連字符。
有關設置系統屬性的更多信息,請參見wiki頁面。
但是,如果您啟用了Use custom workspace選項,那么所有構建都將在同一個工作區中執行。因此需要謹慎,因為多個構建可能會同時改變同一個目錄。
三、源碼管理
源碼管理有三種選擇,第一種就不必說了,主要說第二種(Git)和第三種(SVN)
源碼管理為Git時
Repository URL : 輸入Git的項目地址
Credentials : 點擊添加,添加Git的賬號密碼,保存之后選擇剛添加的賬號密碼
其他配置根據自己實際情況選擇,一般默認即可.



Repository URL : 輸入svn的項目地址
Credentials : 點擊添加,添加svn的賬號密碼,保存之后選擇剛添加的賬號密碼
其他配置根據自己實際情況選擇,一般默認即可.

四、構建觸發器
這里只列舉常用的幾種構建觸發器.







若觸發報錯 Error 403 No valid crumb was included in the request, 則需關掉Jenkins配置中的跨站請求偽造保護.









# 每15分鍾觸發一次
H/15 * * * *
# 在每個小時的前0-29分鍾,每隔10分鍾觸發一次
H(0-29)/10 * * * *
# 星期一至星期五的9點至16點,每兩小時為一個時間段,45分時觸發一次 45 9-16/2 * * 1-5 # 星期一至星期五的9點至16點,每兩小時觸發一次 H H(9-16)/2 * * 1-5 # 除了12月,每個月的1號和15號一天一次 H H 1,15 1-11 *
五、構建環境
默認的有這幾種