0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub Actions - ActのRunnerにカスタムイメージを使用する

Posted at

内容

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

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?