on
如果希望能透過 Workflow 來幫我們處理事情,那最開始要定義的屬性就是 on
了,畢竟腳本是否執行完全就看這個
這邊是一個觸發工作流程的範例:
on:
repository_dispatch:
types: [e2e_test]
pull_request:
workflow_dispatch:
schedule:
- cron: '0 16 * * *' # every day at midnight at UTC+8
依照這個範例的設定,這個 Workflow 將有四種觸發時機:
e2e_test
這個 event 事件的 Webhook(事件是可以自行定義的)後觸發流程,這邊的用例是讓後端可以透過 Webhook 來發動各專案進行的 E2E 測試,通常是 API 改動後進行。能夠使用的事件還非常多,但這幾個是我認為使用機率比較高的,如果有想知道更細節的資訊,我都有附上官方文件的連結,可以進去查閱。
${{ }}
expressions 表達式可以讓你更有彈性的設定你的 Workflow 腳本,因為 GitHub Actions 在執行的時候,會在環境中注入一些環境變數可以使用,像是 secrets
跟 github
這兩個就是很常用的變數。
jobs:
job-id:
steps:
- name: Check github object
run: |
cat << OBJECT
${{ toJson(github) }}
OBJECT
continue-on-error: true