Github Actions — Github Template

Jane
Sep 12, 2021

當我們已經在自己的Repository寫好CI/CD workflow之後

要如何讓其他沒有Actions基礎的開發協作者快速套版呢?

這時就可以使用Github內建的 Template 功能

Template能夠在同一個Account/Organization底下設定使用

(以下統一用Organization代稱)

可以在命名為 .github 的Repo中創建workflow模板

並與Organization中的其他用戶共享

官方文件可以參考

我們以上篇python ci workflow為例子

要設定template前必須在Organization下建立名為 .github 的Repo

並在其中新增一個資料夾名為 workflow-templates

.github/
┗ workflow-templates

再來的操作都是在workflow-templates 底下喔!

現在可以直接把之前寫好的python-ci.yml copy到workflow-templates底下

再新增一個metadata file 檔名必須與workflow檔名相同

再加上 .properties.json 而不是 .yml 擴展名

以我們的workflow python-ci.yml來説

metadata file 檔名必須為 python-ci.properties.json

檔案新增完畢再來編輯metadata內容

其中必填的是name、description

iconName會去找同個path底下同名稱的svg Icon作為template的圖示

categories則會根據你的repo語言屬性主動推薦你適合的類別templates

{    "name": "Jane Python CI Workflow",    "description": "Jane Organization Python CI workflow template.",    "iconName": "cat_icon",    "categories": [        "Python"    ]}

這樣就完成metadata的設定

icon的部分推薦大家可以去https://www.flaticon.com

找喜歡的素材(please download svg file)

最後可以看到.github repo底下必須長這樣~~

.github/
┗ workflow-templates/
┣ cat_icon.svg
┣ python-ci.properties.json
┗ python-ci.yml

上code後就可以在Organization底下任何一個repo的Actions查看結果

若同一個repo中已經有workflow就需要再點一層才會到上面的畫面

如果template夠多的話就會長得像這樣

其他協作者要套版的話只需要按 Set up this workflow

就可以直接編輯啦~~是不是很方便~

提醒一下套版需要注意的地方

如果template中有secrets相關的variable

請確認你開發的repo底下Setting>Secrets是否有相對應的設定

--

--