コンテンツにスキップ

GitHub Actions 内でコンテナを動かす

job 全体をコンテナで実行する

コンテナを使用して、ジョブのステップを実行できる。次の例のように、jobs.<job_id>.container キーを使用して、ジョブのステップを実行するコンテナを指定する。steps キーの下にある各ステップは、コンテナ内で実行される。環境変数やポート、ボリュームなどのコンテナの設定を指定できる。

name: CI
on:
  push:
    branches: [main]
jobs:
  container-test-job:
    runs-on: ubuntu-latest
    container:
      image: node:14.16
      env:
        NODE_ENV: development
      ports:
        - 80
      volumes:
        - my_docker_volume:/volume_mount
      options: --cpus 1
    steps:
      - name: Check for dockerenv file
        run: |
          (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv)
          node -v

step をコンテナで実行する

usesでコンテナを指定することで、そのステップをコンテナ内で実行できる。

jobs:
  container-test-job:
    runs-on: ubuntu-latest
    container:
      image: node:14.16
    steps:
        - name: node 14
          uses: docker://node:14.16
          run: node -v
        - name: override node 18
          uses: docker://node:18
          run: node -v
        - name: override node 12
            uses: docker://node:12
            with:
            entrypoint: '/usr/local/bin/node'
            args: -v

参考