1 概念
持續內建系統的組成:
- 一個自動建構過程,包括自動編譯、分發、部署和測試等;
- 一個代碼存儲庫,即需要版本控制軟體來保障代碼的可維護性,同時作為建構過程的素材庫;
- 一個持續內建伺服器。Jenkins就是一個配置簡單和使用友善的持續內建伺服器。
Jenkins對于maven工程完整的編譯和釋出流程如下:
- Jenkins從SVN上拉取代碼到指定的編譯機器上;
- 在編譯機器上觸發編譯指令或腳本;
- 編譯得到的結果檔案;
- 把結果檔案傳到指定的伺服器上。
2 安裝
從Jenkins官方網站 https://jenkins.io/ 下載下傳最新的war包,在本地安裝Java(jdk)的環境以後,在指定路徑下直接執行以下語句啟動:
java -jar jenkins.war
啟動完畢,如果遇到端口被占用則執行: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安裝成Windows服務啟動
在Jenkins的首頁中選擇 Manager Jenkins,接下來選擇 Install as Windows Service
在Installation Directory中選擇jenkin的安裝路徑。這裡會預設産生,直接點選Install
點選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 運作建構任務
點選“立即建構”
點選“控制台輸出”,檢視失敗的日志。
轉載于:https://www.cnblogs.com/cirr-zhou/p/8527162.html