此文屬連篇系列,故這裡的標題也是從上文排序到此文。若看上文請見:
你常使用的持續整合工具Jenkins,管理員都會做哪些配置?
4。1 自由風格構建
自由風格的任務可以說是最簡單的一種,剛開始使用Jenkins的朋友基本都是從先能配置出一個自由風格的任務開始的 。
在這裡主要從兩個方面進行介紹 :
先從一個簡單的案例開始,配置一個自由風格的任務
對構建中各選項一一加以說明 ,並在過程中強調常用選項 。
4.1.1 新建一個構建任務
接下來就配置一個自由風格的構建任務,任務是以自動化測試為主,且生成測試報告 。
具體步驟:
新建一個自由風格的任務 。
2。配置該任務,在原始碼管理中配置Git(個人原始碼使用git管理)。
3。設定定時執行,自動化任務一般都會設定定時執行,比如每天上午10點和晚上八點執行
4。新增構建步驟,根據自己的專案情況進行配置 。
5。
因專案要生成測試報告,故需要新增構建後操作,配置測試報告 。
6。
若要將測試報告發送給團隊成員,可以配置郵件。同樣是新增構建後操作,選擇Editable Email Notification 。
4.1.2 構建選項說明
透過一個簡單的配置可以看到,在配置構建選項時,都有很多的選項,那麼這些選項都有什麼作用呢 ?下面我們就一一進行介紹 。
在任務的配置項中,主要包括如下幾個部分,分別是;
General
原始碼管理
構建觸發器
構建環境
構建
構建後操作
其中每個Tab頁下又有很多的選項,其中有一些是常用的,下面將每個頁簽下的常用複選框進行展示,具體如下。
General
描述:填寫描述資訊後會顯示到當前任務的主頁
Discard old builds:丟棄舊的構建。
GitHub專案:選擇此選項的話,在任務列表中就會看GitHub的連結,可以直接連線到GitHub專案的主頁上。
This build requires lockable resources :鎖定資源 。
This project is parameterized :引數化構建 ,在有的專案中,需要輸入引數進行構建 那麼你就可以選擇這個選項 。
這裡面常見的構建包括:
Boolean Parameter : 布林型引數
Choice Parameter :選擇性引數
File Parameter : 檔案引數。
Password Parameter : 密碼引數
String Parameter : 字串引數
以上只能說明如何新增引數化的構建任務,但是無論填寫什麼型別的構建引數,這些引數都要和我們的構建任務管理,一般我們都會將這個構建引數值傳遞給構建指令碼中。那麼如何獲取這些引數的值呢 ?其實非常簡單,就是透過{param_name} ,其中param_name代表上面填寫的引數名 。這樣在構建指令碼中自動獲取引數值了 。比如:
Throttle builds :單位時間內允許的最大構建數 。
關閉構建:關閉構建後,擁有構建該專案許可權的使用者將無法構建此專案 。
在必要的時候併發構建:選中此選項,就具備了多執行緒的構建條件 。
原始碼管理
無 :若不需要原始碼時,可以選擇該選項
Git :若你的程式碼是透過Git或GitLab管理,則可以選擇此選項 。
SubVersion : 若你的程式碼是透過SVN管理,可以選擇此選項 。
構建觸發器
觸發遠端構建 (例如,使用指令碼)
build after other projects are built :當本job依賴的其它job被構建時,執行本jobTrigger only if build is stable:只有在構建穩定時才觸發Trigger even if the build is unstable:即使構建不穩定,也要觸發Trigger even if the build fails:即使構建失敗,也要觸發
Build periodically :定時執行構建任務,不管遠端程式碼分支上的程式碼是否發生變化,到時間都會執行一次構建。
Build when a change is pushed to GitHub:這個是github專案的觸發規則
Poll SCM: 設定定時檢查程式碼倉庫是否有變更,有變更則構建
說明:其中Build periodically 和Poll SCM都會用到定時構建的語法,而且它們的語法規則都是一樣的,具體如下 。日程表的引數說明:第一個引數代表的是分鐘 minute,取值 0~59;第二個引數代表的是小時 hour,取值 0~23;第三個引數代表的是天 day,取值 1~31;第四個引數代表的是月 month,取值 1~12;最後一個引數代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。例如:H 6 * * * 表示每天6點定時執行構建(檢查)。H/5 * * * * 每隔5分鐘構建(檢查)一次H H/2 * * * 每兩小時構建(檢查)一次0 12 * * * 每天中午下班前定時構建(檢查)一次0 18 * * 每天下午下班前定時構建(檢查)一次
構建環境
Delete workspace before build starts:在開始構建之前刪除工作空間 。
Use secret text(s) or file(s) 使用加密檔案或文字。
Abort the build if it‘s stuck:如果卡住,則終止構建
Add timestamps to the Console Output :將時間戳新增到控制檯輸出 。
Inspect build log for published Gradle build scans :檢查已釋出的Gradle構建掃描的構建日誌。
With Ant :Ant 構建
構建
Execute Windows batch command : 執行Windows批處理命令
Execute shell :執行shell 命令 ,
Invoke Ant :呼叫Ant 命令
Invoke Gradle script :呼叫 Gradle 命令
Invoke top-level Maven targets
Run with timeout : 超時設定 ,選擇此選項後,下面有兩個選項,分別是 Absolute :選擇此選項後 ,在指定的時間內如果沒有執行完 ,則該構建將自動終止並標記為已終止。 例如,如果您在測試中遇到了無限迴圈,這將很有用。Deadline:選擇此選項,在截止的時間內將立即終止 ,例如。 如果將截止日期定義為“ 13:50”,將容差定義為“ 5”分鐘,並且作業計劃在“ 13:52”執行,它將立即終止。 但是,如果安排在“ 13:56”,則作業的截止日期將設定為第二天的“ 13:50”。
Set build status to “pending” on GitHub commit :在GitHub提交上將構建狀態設定為“待處理”
增加構建後操作步驟
Aggregate downstream test results :彙總下游的測試結果
Allure Report :生成Allure 報告 ,需要安裝Allure外掛
Archive the artifacts:歸檔工作空間的檔案
Build other projects :構建其它專案 ,如果你構建完當前專案後,仍要構建其它專案,可以選擇此選項
Public Html report :生成HTML 報告
Rublic Junit test result report :生成Junit 測試報告
Record fingerprints of files to track usage
Git Publisher :可以將Jenkins生成的程式碼上傳到Git倉庫中
E-mail Notification :配置傳送郵件
Editable Email Notification:配置傳送郵件
Set GitHub commit status (universal) :使用GitHub status api設定提交的狀態。
Set build status on GitHub commit [deprecated] :在GitHub提交構建狀態 。
此係列未完待續,喜歡的朋友請幫忙點贊、轉發、加個關注 ,文章後續在持續更新中。