Skip to content

執行紀錄 ​

執行紀錄

每一次任務的執行,含逐步驟明細。可依狀態與執行器篩選。

保留期限是共用的:系統設定 → 建置裡的紀錄保留天數會一起清掉建置紀錄、產出檔案與稽核紀錄。

步驟 ​

建置是一串步驟,在建置開始時規劃出來:

  • 流程模式下,每個動作一個步驟。
  • 腳本模式下,單一步驟。

每個步驟各自有狀態、輸出、結束碼與耗時。

失敗會怎樣 ​

步驟失敗不會中止建置。整個計畫會跑到底,剩下的每一步依它的執行條件判斷:

執行條件前面失敗之後
前面都成功才執行(預設)標記為 Skipped。
總是執行照跑——收尾、拆除、發通知。
只在前面失敗時執行照跑。

建置結果仍然是失敗。真正會讓建置中途停下來的只有任務逾時;開始時已經沒時間的步驟會直接以說明訊息判為失敗。

設了失敗時繼續往下執行的步驟則根本不會把建置標成失敗,後面照常進行。

重試 ​

一個步驟最多可以設十次重試。每次都是全新的 shell,前幾次的輸出留在這次上面,所以第三次才過的步驟看得出來。重試用的是同一份任務逾時,不會延長它。

每個步驟都是獨立的 shell ​

步驟共用工作目錄,但不共用環境變數。要把值傳下去,往 Walis 指定的檔案追加:

bash
echo "BUILT_VERSION=1.2.3" >> "$WALIS_ENV_FILE"

下一步就讀得到 $BUILT_VERSION。這跟其他 CI 的語意一致,也避免某一步默默依賴前一步的 shell 狀態。

同時執行 ​

步驟是等依賴跑完才開始,所以彼此不相依的就會一起跑——最多 8 步同時。 見流程是一張圖。

有多步同時在跑的期間:

  • 工作目錄共用。
  • 各自有獨立的 $WALIS_ENV_FILE——共用會互相蓋掉。
  • 彙總日誌不即時更新(多個寫入者會交錯成亂碼),但各步驟的即時輸出照常。
  • 一條分支失敗不會停掉不依賴它的分支。分支匯合的地方會被略過,並把失敗往下游傳。

步驟輸出 ​

步驟往 $WALIS_OUTPUT_FILE 寫 name=value 的話,日誌視窗裡那一步的區塊會多一張輸出表, 列出每個名稱與值,機密值會遮蔽。

那些就是後面步驟用 ${{ steps.識別字.名稱 }} 引用的東西——見把值傳下去。

讀輸出 ​

建置輸出

日誌視窗左邊列出步驟,右邊是選中步驟的輸出,標頭有觸發方式、執行器、結束碼與耗時。

建置執行中時輸出每兩秒更新一次,並自動捲到底。往上捲就停止跟隨——這樣你要看某段東西時不必跟捲軸打架。

產出檔案列在下方可供下載。AI 分析把失敗的輸出送給設定好的供應商,摘要出哪裡出錯。

任務有宣告建置參數時,這一筆用的值會顯示在標頭。password 型別顯示成 ********——值存在一個 API 永遠不會序列化的欄位,不是只在介面上藏起來。

矩陣建置 ​

有矩陣的任務會為每個組合各產生一筆建置,各自帶著標籤,值也會注入成環境變數。上限是 50 組——四個軸各五個值就是 625 次建置,那通常不是任何人的本意。

建置快取 ​

任務裡列出的路徑會在成功後保存,下次建置前還原。順序是刻意的:Walis 先清空工作目錄,再還原快取。反過來的話,清空會把剛還原的東西刪掉。

絕對路徑與 .. 一律忽略。

以 MIT 授權釋出。