Skip to content

從 Jenkins 匯入

從 Jenkins 匯入

建置任務 → 從 Jenkins 匯入把 Jenkinsfile 或任務的 config.xml 轉成一份 Walis 任務草稿。 在你按下儲存之前,資料庫什麼都不會寫。

這一頁是操作流程。哪些轉得過去、哪些轉不了,見對應表

1 · 貼上

貼上內容,或從檔案選。宣告式與腳本式的 Jenkinsfile 都可以,freestyle 或 matrix 專案的 config.xml 也可以。

任務名稱可以留空,到編輯器再填。從檔案選的話會用檔名當名稱——除非那個檔案就叫 Jenkinsfileconfig.xml,那種名字當任務名稱不好用。

TIP

Jenkins 匯出的 config.xml 開頭是 XML 1.1 宣告,貼上前先改成 1.0

2 · 預覽

匯入預覽

預覽會轉換並把結果攤開給你看。這只是一份唯讀的草稿——背後的 API 端點不寫任何東西。

標頭有偵測到的格式、任務名稱,以及轉換器推導出來的觸發方式、逾時與併發設定,右邊是依嚴重度分類的警告數量。

步驟

每個 stage 變成一個步驟,只要不是單純依序執行的 shell 命令,就會帶標籤:

標籤意思
平行與前一步同時執行,因為兩者互不相依——來自 parallel 區塊。
總是失敗時步驟的執行條件——來自 post { always }post { failure }
重試 N 次來自 retry(n)
一個映像名稱這一步在容器裡跑——來自 agent { docker }

巢狀 stage 的名稱是「父 / 子」,所以 Test 底下的 Unit 會顯示成 Test / Unit

右邊那一欄

步驟以外的東西都在這裡:建置參數、環境變數、下游任務、產出檔案路徑。

標著機密,待填的變數沒有值。Walis 讀不到 Jenkins 的憑證,只知道有人引用了它—— 旁邊會標出 Jenkins 的憑證識別碼當來源,你才知道要填什麼進去。

警告

嚴重度意思
提示對應到了,但語意有一點不同。看一眼就好。
需要處理對應到了,但需要你補東西——機密、存在的執行器、儲存庫網址。
不支援沒有對應功能。原文會留在腳本裡當註解。

沒有東西會被安靜丟掉。剖析器看不懂的區塊會原樣保留、輸出成註解, 所以你拿到的是一個「看得見缺口」的任務,不是一個默默少了一步的任務。

3 · 在編輯器中開啟

在編輯器中開啟會把草稿交給任務編輯器, 頁面頂端有一條藍色提示說這是從 Jenkins 匯入的草稿、還沒有儲存

全部都可以改。警告指出來的東西就在這個時候處理——這裡不存在的執行器名稱、 Jenkinsfile 裡沒有的儲存庫網址、需要人工改寫的 when 運算式。

4 · 建立任務

建立任務就跟一般任務一樣存起來,並額外建立匯入建議的任務專屬環境變數

有值的變數會連值一起建立。機密的會建成空的,並用一則警告把名字列出來,讓你知道還有哪幾個在等。 在填進去之前,建置會拿著空值跑——通常不是一開始就失敗,而是跑到用那個憑證的地方才失敗。

存完之後就看不出來源了,它就是一個普通的 Walis 任務。

以 MIT 授權釋出。