持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

此文屬連篇系列,故這裡的標題也是從上文排序到此文。若看上文請見:

你常使用的持續整合工具Jenkins,管理員都會做哪些配置?

4。1 自由風格構建

自由風格的任務可以說是最簡單的一種,剛開始使用Jenkins的朋友基本都是從先能配置出一個自由風格的任務開始的 。

在這裡主要從兩個方面進行介紹 :

先從一個簡單的案例開始,配置一個自由風格的任務

對構建中各選項一一加以說明 ,並在過程中強調常用選項 。

4.1.1 新建一個構建任務

接下來就配置一個自由風格的構建任務,任務是以自動化測試為主,且生成測試報告 。

具體步驟:

新建一個自由風格的任務 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

2。配置該任務,在原始碼管理中配置Git(個人原始碼使用git管理)。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

3。設定定時執行,自動化任務一般都會設定定時執行,比如每天上午10點和晚上八點執行

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

4。新增構建步驟,根據自己的專案情況進行配置 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

5。

因專案要生成測試報告,故需要新增構建後操作,配置測試報告 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

6。

若要將測試報告發送給團隊成員,可以配置郵件。同樣是新增構建後操作,選擇Editable Email Notification 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

4.1.2 構建選項說明

透過一個簡單的配置可以看到,在配置構建選項時,都有很多的選項,那麼這些選項都有什麼作用呢 ?下面我們就一一進行介紹 。

在任務的配置項中,主要包括如下幾個部分,分別是;

General

原始碼管理

構建觸發器

構建環境

構建

構建後操作

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

其中每個Tab頁下又有很多的選項,其中有一些是常用的,下面將每個頁簽下的常用複選框進行展示,具體如下。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

General

描述:填寫描述資訊後會顯示到當前任務的主頁

Discard old builds:丟棄舊的構建。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

GitHub專案:選擇此選項的話,在任務列表中就會看GitHub的連結,可以直接連線到GitHub專案的主頁上。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

This build requires lockable resources :鎖定資源 。

This project is parameterized :引數化構建 ,在有的專案中,需要輸入引數進行構建 那麼你就可以選擇這個選項 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

這裡面常見的構建包括:

Boolean Parameter : 布林型引數

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

Choice Parameter :選擇性引數

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

File Parameter : 檔案引數。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

Password Parameter : 密碼引數

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

String Parameter : 字串引數

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

以上只能說明如何新增引數化的構建任務,但是無論填寫什麼型別的構建引數,這些引數都要和我們的構建任務管理,一般我們都會將這個構建引數值傳遞給構建指令碼中。那麼如何獲取這些引數的值呢 ?其實非常簡單,就是透過{param_name} ,其中param_name代表上面填寫的引數名 。這樣在構建指令碼中自動獲取引數值了 。比如:

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

Throttle builds :單位時間內允許的最大構建數 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

關閉構建:關閉構建後,擁有構建該專案許可權的使用者將無法構建此專案 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

在必要的時候併發構建:選中此選項,就具備了多執行緒的構建條件 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

原始碼管理

無 :若不需要原始碼時,可以選擇該選項

Git :若你的程式碼是透過Git或GitLab管理,則可以選擇此選項 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

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:在開始構建之前刪除工作空間 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

Use secret text(s) or file(s) 使用加密檔案或文字。

Abort the build if it‘s stuck:如果卡住,則終止構建

Add timestamps to the Console Output :將時間戳新增到控制檯輸出 。

持續整合系列2之自由風格構建,選項太多不理解?但常用的也挺多

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提交構建狀態 。

此係列未完待續,喜歡的朋友請幫忙點贊、轉發、加個關注 ,文章後續在持續更新中。