GitHub Actions
Overview
https://gyazo.com/75c78490fad62c1dafd72a63225f5eb0
Workflow
リポジトリに紐付いて特定のEventによって実行される1つ以上のJob
Event
GitHub上のコミットやPR追加だったり、webhookをリッスンしてWorkflowを実行する Job
Runner上で実行される一連のStep
Job同士は並列(デフォルト)や直列に実行できる
Step
Job上で実行されるActionかshellコマンド
Action
Workflowを構成する最小単位のコマンド
自作したり、他人が作ったものを実行できる
Runner
GitHubがホストしているものか、自分のものを使える
GitHubのRunnerは
Job実行毎に仮想環境が作られる
Create an example workflow
設定ファイルはリポジトリ上の.github/workflowsにYAMLとして書いておく code:learn-github-actions.yml
name: learn-github-actions
jobs:
check-bats-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- run: npm install -g bats
- run: bats -v
Understanding the workflow file
https://gyazo.com/338576f13826f7a037472bd87d479590
on: [push]
Workflowを実行するEvent
jobs:
Jobを並べる
check-bats-version:
JobのID
runs-on: ubuntu-latest
Jobを実行するRunner
steps:
Jobで実行するStepを並べる
- uses: actions/checkout@v2
actions/checkoutという他人が作ったActionのv2を実行する
当該リポジトリのコードをRunnerに落としてくるAction
- uses: actions/setup-node@v1
- run: npm install -g bats
runでShellコマンドを実行する