[Docker]GitHub Actions Runner


自分のランナーをホストする – GitHub Docs

OSはWindows/Linux/MacOSをサポートしているセルフホストのGitHubエージェント。
…が、ここではLinuxのみ記す。WindowsやMacOSのネイティブなRunnerは扱わない。

GitHubはエージェント側でセットアップを済ませておく必要がある。Jenkinsのエージェントと同じで面倒。
GitLab RunnerはDocker環境をサポートしているものがDockerHubに登録されている。

DOCKER_GID未定義時はDocker非サポート、定義時はDockerサポートでビルドするdocker-compose.ymlを用意した。
Dockerエンジンのインストールを除いているため、オフィシャルなサンプルとは異なる。
GitLab Runner同様、ホストのDockerをソケット通信で利用するようにしている。
ホストのDocker環境を汚されたくない場合はDocker In Dokcerなどを利用する必要がある。

Docker In Dockerを使って、Runner単位で環境を用意するのがお勧め。
安全に一時的なデータを削除できる。
また、別のコンテナやサービスと、ポートやIPアドレス範囲が干渉する可能性を減らすこともできる。

docker – Official Image | Docker Hub

docker compose

https://github.com/rfull-development/tmplt-docker-compose/tree/71560259cc65d471dfe6d299b580a2c4dbe8e926/github-actions-runner

登録時は対話型になっているので、コンテナ内からセットアップを完了させる必要あり。