在這篇我們會來了解一下什麼是Github Actions、YAML,以及分享開發會使用到的套件
Github Actions 是一個 CI/CD 平台
,它提供了 Linux、Windows、macOS 的虛擬機 (VM)
這三種中Linux 虛擬機是最常用的一種,常用於大多數的 CI/CD,因為消耗相對較低,而且每分鐘的價格也比另外兩種便宜
如果使用的是GitHub Free方案的話,每個月有2000分鐘的額度,記憶體容量則是500MB
Github Actions常被用於對 repo 的 code 進行 build、test、deploy
,或者check
PR 內的內容
workflow會用YAML格式撰寫,並設定觸發的時機,之後就可以手動、自動觸發它們
YAML (YAML Ain't Markup Language) 是一種人類可讀的資料格式
,使用縮排表示結構層次
嚴格的縮排
而這也是它最為人詬病
的點,而且很嚴格,只要縮排不對馬上就給你噴錯
它常被用於各種 DevOps 工具,如GitHub Actions 、 Kubernetes、Docker,支援多種type,不過因為它只是一種格式,所以沒有變數、運算的功能
YAML撰寫的檔案有.yaml、.yml兩種副檔名。兩者一樣,只是後者是由於早期Windows系統限制副檔名只能有三個字母
安裝了這個套件以後左側的drawer會多出一個按鈕,只要有登入就會列出現這個repo的workflow的執行紀錄以及其他資訊,也可以選擇rerun
此外它還有以下功能
1.檢查
放.github/workflows內的.yml
(或.yaml)的語法是否符合Github Actions的schema
2.針對Github Actions的snippet
不過這個套件沒有format功能
Redhat的YAML除了驗證YAML語法的功能以外,還是目前少數有format功能
的VS Code套件,但
它的format功能並不是那麼強大
,只能做些簡單的縮排調整,或者依據給予的schema去format
但這是因為yaml的縮排
不限制一定要縮幾個空白,而是只要對齊就好
,導致很難
完美format
它