内容
Github Actionsをローカルで実行することのできるActのRunner(実行環境)に、
カスタムイメージを使用する
今回使用するカスタムイメージはActで提供されているイメージをベースに、AWS CLIを追加したものとする
Github Actionsで使用されるRunnerについて
Github Actionsで指定するRunner(runs-on: ubuntu-latest
等)のスペックは以下に記載されている
また同ページ内のワークフロー ラベルのリンク(Ubuntu 24.04等)から、
各Runnerにインストール済のSoftware一覧が記載されている
Actで使用されるRunnerについて
RunnersにActで使用可能なRunner一覧が記載されている
同ページ内のリンクからRunnerの内容を確認すると、
Large Sizeイメージは、Githubホステッドランナーに近い環境のようだが、サイズは60GB程度あるらしい
おそらく一番使用するであろうMedium Sizeイメージは、Dockerfileから、act.shを実行して、packages=
で記載されているツールをインストールしているようだ
サイズは実際にpullした結果、1.3GB程度であった
Medium Sizeイメージは、Githubホステッドランナーに比べインストールされているツールが少ないため、
Github Actionsの実装に応じて必要なツールは別途インストールする必要がある
カスタムイメージ用の作成
カスタムイメージ用のDockerfileを用意する
FROM catthehacker/ubuntu:act-latest
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install && \
rm -rf awscliv2.zip
ベースはActで提供しているMedium Sizeイメージとし、AWS CLIを追加インストールしている
AWS CLIのインストールは、公式通り
docker build ./ -t catthehacker/ubuntu:act-latest-custom
で、イメージをビルドする
名前はcatthehacker/ubuntu:act-latest-custom
とした
カスタムイメージを使用する
Act実行時にカスタムイメージを使用する場合は、
-P {GitHub Actionsで実装しているRunner名}={代替イメージ名}
でカスタムイメージと、
--pull=false
でpullしないように指定する
以下、実行例
act -j 'test' --pull=false -P ubuntu-latest=catthehacker/ubuntu:act-latest-custom