當我們已經在自己的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是否有相對應的設定