持續集成
官方術語:
持續集成(Continuous Integration),也就是我們經常說的 CI
持續集成(CI)是一種實踐,可以讓團隊在持續的基礎上收到反饋并進行改進,不必等到開發周期后期才尋找和修復缺陷,
持續集成流程
在軟體的生命周期程序中,從需求,到實作,到測驗,到用戶手中,是一個持續的程序,
在這個程序當中,不止是開發作業,有很多的環節都可以利用自動化的手段去持續的定期的執行任務,來提升整體的軟體質量和效率,
下圖為我畫的在軟體生命周期程序中,開發人員和測驗人員和配置管理人員的流程圖,
圖中紅色字體部分均是可以持續定期的去執行,

將上圖中的內容綜合一下,那么我們可以得到下圖的持續集成流程,

Jenkins
一款持續集成工具,可以在 jenkins 當中完成以上持續集成流程中的每一個環節,
jenkins 中有 3 大重要概念:
1、Job(任務/工程)
在 jenkins 平臺中,都是以 Job(任務/工程)為單位去完成一件事情的,
在使用jenkins時,都是會在jenkins管理界面當中創建一個job/item,在job/item中來組織任務,
2、plugin(插件)
jenkins 提供平臺,集成各種插件來完成一個 Job,想用 jenkins 平來做什么,先找找有沒有相應的插件,
比如:windows 命令、Linux 命令的支持、SVN 和 Git 代碼獲取、郵件發送,測驗報告集成等都需要安裝相應的插件才能夠在 jenkins 當中使用這些功能,
3、workspace(作業空間)
jenkins 是通過檔案形式來存盤和管理資料的,
所以,在安裝jenkins,要指定一個Jenkins_Home目錄,所有jenkins相關的資料都存放在此目錄下,
workspace即給jenkins指定一個專門的目錄來存盤其所有的配置和資料,
jenkins的workspace是根目錄 ,其下每個Job都有屬于自己的workspace,
每個job的workspace當中用來存放本任務涉及到的資料/檔案,以及任務執行完成后生成的資料/檔案,
相當于,給每一個job開辟了一個獨立的檔案夾,


4、jenkins 管理(Jenkins Manager)
整個 jenkins 的全域配置,
包括權限管理、插件管理、節點管理等,

在 Jenkins 當中要完成一個任務,首先要創建一個 Job/Item,
通過配置 Job/Item,來配置任務的觸發條件、任務的代碼從哪獲取、任務的執行程序涉及哪些步驟、任務執行完成之后要做哪些通知/展示作業,

一個 Job/Item 的配置項如下:
1、基本資訊配置(General)
Job 名字、指定當前 Job 的作業空間、指定當前 Job 系結到哪個執行機上執行等,,,

2、原始碼管理(Source Code Management)
svn/git 等,需要相應的插件支撐,
配置好原始碼管理后,在執行 Job 時會自動從相應的原始碼庫里下載代碼到當前 Job 的作業空間中,

3、構建觸發器(Build Triggers)
觸發器:執行當前任務的條件,
常用定時構建:類似 windows/linux 的定時任務,指定當前 Job 執行的時間,

定時任務配置規則如下:
首先,一共有 5 個配置選項(每個選項之間用空格隔開),分別是:
MINUTE(分鐘) HOUR(小時) DOM(每月的天數) MONTH(一年的月份) DOW(每周的天數)
MINUTE(分鐘): 指一小時內的分鐘數,有效值為:0-59
HOUR(小時):指一天內的小時數,有效值為:0-23
DOM(每月的天數):指一個月內的天數,有效值為:1-31
MONTH(一年的月份):指一年當中的月份數,有效值為:1-12
DOW(每周的天數):指一周當中的天數,有效值為 0-7,0 和 7 都表示周日,1-6 分別表示周一到周六,
支持以下操作:
- *****表示匹配所有有效值,
- M-N 表示一個連續的有效值范圍,比如在 DOW 中用 1-5,表示取周一到周五,
- M-N/X 或者 */X 表示以 X 為步長,取指定連續范圍或所有有效值范圍內的值,比如在 DOW 中用 1-5/2,表示取周一,周三,周五,
- A,B,.....Z 表示列舉,比如在 DOW 中用 1,2,6,表示取周一,周二,周六,
示例:
每周一、三、五,每天上午 10 點整,自動觸發任務的執行,
定時配置如下:0 10 * * 1,3,5
MINUTE(分鐘): 值為 0,
HOUR(小時):值為 10
DOM(每月的天數):值為* 沒有指定一個月當中,只有哪幾天運行,所以用*匹配所有有效值,
MONTH(一年的月份):值為* 沒有指定一年當中,只有哪個月運行,所以用*匹配所有有效值,
DOW(每周的天數):值為 1,3,5,用列舉方式,因為即不是所有值,也不是連續的有效值,

4、構建(Build)
此一步是用來實作所有你想用此 Job 做的事情,
添加構建步驟:按順序執行構建步驟,
構建步驟的下拉串列選項多少,由 jenkins 中已安裝的相關插件決定 ,因為許多功能都是由插件來支撐的,

5、構建后行為(Post-build Actions)
此一步主要在任務執行完成之后,要做的事情,
比如要發送郵件、要展示任務執行的結果,
方式與 4 中一樣,都是選擇相應的插件功能,
構建后操作步驟的下拉串列選項多少,由 jenkins 中已安裝的相關插件決定 ,因為許多功能都是由插件來支撐的,

任務配置完成之后,點擊 立即構建 ,測驗任務在執行時是否有錯誤,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233817.html
標籤:其他
