はじめに
前回の記事でGithub Actionsのセットアップ方法を書きました。
今回はJobを順番に実行させる設定の仕方について書いていきます。
needsを使う
先に正解を書いてしまいましたが、 need
sを使います。
ここで、前回の記事で書いたファイルを見てみます。
name: Test Github Actions
on: push
jobs:
test_1:
runs-on: ubuntu-latest
steps:
- name: Echo test_1
run: echo "test_1"
test_2:
runs-on: ubuntu-latest
steps:
- name: Echo test_2
run: echo "test_2"
この書き方だと2つのJob(test_1とtest_2)が同時に実行されてしまいます。
ここで、test_2はtest_1が終わってから実行する、という設定を加えてみます。修正後はこんな感じです。
name: Test Github Actions
on: push
jobs:
test_1:
runs-on: ubuntu-latest
steps:
- name: Echo test_1
run: echo "test_1"
test_2:
runs-on: ubuntu-latest
needs: test_1 # ここを追加
steps:
- name: Echo test_2
run: echo "test_2"
これでOKです。
これだけで、test_2はtest_1が終わってから実行されるようになります。
ぜひ試してみてください 👌
ちなみに、needs
には複数のjobを設定できます。
例えばこんな感じです。
name: Test Github Actions
on: push
jobs:
test_1:
runs-on: ubuntu-latest
steps:
- name: Echo test_1
run: echo "test_1"
test_2:
runs-on: ubuntu-latest
steps:
- name: Echo test_2
run: echo "test_2"
test_3:
runs-on: ubuntu-latest
needs: [test_1, test_2]
steps:
- name: Echo test_3
run: echo "test_3"
こうすることで、test_3はtest_1とtest_2が終わった時に実行されるようになります。