Jenkins-基礎

 

1 概念java

持續集成系統的組成:
  1. 一個自動構建過程,包括自動編譯、分發、部署和測試等;
  2. 一個代碼存儲庫,即須要版本控制軟件來保障代碼的可維護性,同時做爲構建過程的素材庫;
  3. 一個持續集成服務器。Jenkins就是一個配置簡單和使用方便的持續集成服務器。
Jenkins對於maven工程完整的編譯和發佈流程以下:
  1. Jenkins從SVN上拉取代碼到指定的編譯機器上;
  2. 在編譯機器上觸發編譯命令或腳本;
  3. 編譯獲得的結果文件;
  4. 把結果文件傳到指定的服務器上。

2 安裝

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

啓動完畢,若是遇到端口被佔用則執行:java -jar jenkins.war --httpPort=1080shell

能夠寫一個批處理去啓動,新建一個txt文件輸入如下命令,並保存爲.bat文件數據庫

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

訪問http://localhost:8080,初始化頁面如圖所示安全

解鎖Jenkins,根據提示打開指定路徑的文件,獲取密碼,並初始化管理員帳戶並完成登陸。服務器

 附:將Jenkins安裝成Windows服務啓動併發

在Jenkins的主頁中選擇 Manager Jenkins,接下來選擇 Install as Windows Servicemaven

在Installation Directory中選擇jenkin的安裝路徑。這裏會默認產生,直接點擊Installsvn

點擊Yes,而後能夠看到Windows服務中添加了Jenkins的服務,並已經設置爲自動和啓動狀態工具

3 配置

3.1 系統設置

點擊系統管理->系統設置,進入以下頁面

 

3.1.1 工做目錄

用於設置項目的目錄,存放項目的數據,並會給每一個項目生成一個Job下的目錄。

3.1.2 執行者數量

能夠理解爲併發量,即Jenkins配置多個項目構建任務,同時執行的最大數量。

3.1.3 生成前的等待時間

構建任務地緩衝時間

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 插件即生效。如遇失敗可重試或離線安裝。

4 構建

4.1 新建任務

主頁:點擊「新建」; 項目類型:輸入項目名稱project,類型選擇」構建一個自由風格的軟件項目」。

4.1.1 丟棄舊的構建

自動刪除構建,不勾選則保留所有構建記錄,勾選後能夠按照時間和構建個數規則進行自動刪除。

4.1.2 關閉構建

默認不關閉。

4.1.3 安靜期

構建前的等待時間,默認會讀取系統配置的構建前等待時間,若是勾選而且設置對應的時間,則優先讀取這個設置。

4.1.4 重複次數

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

 

這裏須要注意:使用自定義的工做空間

4.2 源碼管理

通常經常使用的是svn和git這兩種源碼管理工具。

默認爲無,若有則勾選對應的工具,輸入URL,在Credentials添加帳號密碼,在Branches to build中設置須要處理的代碼分支。

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 設置構建

4.4.1 執行Windows批處理命令

相似於輸入cmd命令,能夠再命令行指定調用Python命令執行測試腳本

4.4.2 執行shell

在Linux下執行的腳本命令。

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

5 運行構建任務

點擊「當即構建」

點擊「控制檯輸出」,查看失敗的日誌。