Skip to content

動作參考

動作是純資料:參數宣告加上一段 shell 樣板。執行路徑上沒有任何東西認識動作——流程在你儲存任務時就編譯成一段純腳本,這也是遠端執行器完全不需要知道動作存在的原因。

內建動作共 29 個,分成八類。

通用

動作識別字作用
執行命令shell.run在工作目錄執行一段 shell,最常用的萬用動作。
輸出訊息shell.echo把一段文字寫進建置日誌,方便標記進度。
等待shell.sleep暫停指定秒數,常用在等待服務啟動。
設定環境變數shell.env$WALIS_ENV_FILE 追加,為後續步驟設定變數。
切換目錄shell.cd切換目錄,後續步驟都會在這裡執行。

檔案

動作識別字作用
建立目錄file.mkdir已存在時不會失敗。
複製檔案file.copy檔案或目錄皆可。
移動檔案file.move移動或改名。
刪除檔案file.remove路徑不存在時不會失敗。
壓縮成 zipfile.zip把目錄或檔案壓成 zip。

Git

動作識別字作用
Git Clonegit.clone可指定分支與深度。
Git Checkoutgit.checkout切換到指定分支或提交。
Git Pullgit.pull拉取最新的提交。

Node

動作識別字作用
安裝相依套件node.install依 lock 檔安裝。
執行 npm scriptnode.script執行 package.json 裡的 script。
執行 npx 指令node.npx用 npx 執行套件提供的指令。

.NET

動作識別字作用
dotnet restoredotnet.restore還原 NuGet 相依套件。
dotnet builddotnet.build建置專案或方案。
dotnet testdotnet.test執行測試專案。
dotnet publishdotnet.publish產生發行輸出。

容器

動作識別字作用
Docker Builddocker.build建置映像檔。
Docker Pushdocker.push推送映像檔到 registry。
Docker Composedocker.compose以 compose 啟動或更新服務。

部署

動作識別字作用
SSH 遠端執行deploy.ssh透過 SSH 在遠端主機執行命令,常用於重啟服務或跑部署腳本。
rsync 同步deploy.rsync把目錄同步到遠端主機。
scp 上傳deploy.scp把檔案複製到遠端主機。
HTTP 請求deploy.http呼叫一個端點,例如觸發部署或送出通知。

檢查

動作識別字作用
檢查檔案存在check.file檔案不存在時讓建置失敗。
檢查指令可用check.command指令不在 PATH 上時讓建置失敗。

每個步驟的三個開關

流程中的每個步驟都帶三個開關,與它用哪個動作無關:

  • 啟用這個步驟——關掉就略過,不會讓建置失敗。
  • 失敗時繼續往下執行——越過非零結束碼繼續。沒開的話,後續步驟會標記為 Skipped
  • 與前一步同時執行——見平行群組

自訂動作

自訂動作跟內建動作結構相同,以 JSON 存在資料庫。你宣告參數、寫一段 shell 樣板;樣板語法記在專案的 Docs/actions.md。自訂動作會跟著匯出與匯入一起走。

如果你要的是行為而不是樣板——邏輯、分支、呼叫 API——那應該寫外掛

以 MIT 授權釋出。