概要
ユーザー自身が構築したビルドサーバーを各CIツールへ乗せるための設定を調べていた時に、そもそもの機能名が分からず困ったため自身の備忘としてまとめました。
対応表
今のところ把握できているものの対応表です。
他ツール、サービスについてもご存じの方いらっしゃれば教えていただきたいです。
ツール名 | ビルド環境の名称 |
---|---|
Azure DevOps | Agent |
Jenkins | Slave |
GitHub | Runner |
GitLab | Runner |
各ビルド環境についてざっくり
Azure DevOps
- Azure DevOpsの1サービスとしてAzure Pipelinesという名称でCI/CD機能が提供されている
- Agent Poolに登録されたAgentがユーザーが定義したパイプライン上でビルドサーバーとして振る舞う
- AgentにはMicrosoftがホストして提供しているMicrosoft-hosted agentsと、ユーザー自身が構築したSelf-hosted agentsの2種類ある
- Microsoft-hosted agentsは基本的に従量課金制で使用できる(無料枠あり)
- Self-hosted agents1はサーバー上でエージェント用のプログラムを実行しておくことで、Agent Poolに登録されてビルドサーバーとして使用することができる
Jenkins2
- 本体が動作するマスターにビルド用の環境も整っていればスレーブは必須ではないという認識
- スレーブ用のプログラム(Java製)を実行することで、マスターに登録されてビルドサーバーとして使用できる
GitHub
- GitHub Actionsという名称でCI/CD機能が提供されている
- Azure DevOps同様、RunnerにはGitHubがホストして提供しているものと、セルフホスト型のものの2種類がある
- GitHubがホストするものは、パブリックリポジトリであれば無料で使用でき、
プライベートリポジトリであれば従量課金で使用できる - 2020年4月にプライベートリポジトリでも月2,000分まで無料で利用できるようになりました。
- セルフホスト型のものは、ユーザーが用意したサーバー上でエージェント用のプログラムを走らせておくことで使用できる
- GitHubがホストするものは、パブリックリポジトリであれば無料で使用でき、
- 公式のヘルプによれば、GitHub ActionsのRunnerはAzure PipelineのAgentをフォーク3したものらしく、それもあってAzure Pipelinesと構成がかなり似ている
GitLab2
- gitlab-runnerというプログラム(GO製)を実行しておくことでビルドサーバーとして使用することができる