Github ActionsでJobを順番に実行する方法

はじめに

前回の記事でGithub Actionsのセットアップ方法を書きました。

今回はJobを順番に実行させる設定の仕方について書いていきます。

needsを使う

先に正解を書いてしまいましたが、 needsを使います。

ここで、前回の記事で書いたファイルを見てみます。

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が終わった時に実行されるようになります。

Related Posts