Help us understand the problem. What is going on with this article?

各CIツールにおけるビルド環境の呼び方

概要

ユーザー自身が構築したビルドサーバーを各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がホストするものは、パブリックリポジトリであれば無料で使用でき、プライベートリポジトリであれば従量課金で使用できる
    • セルフホスト型のものは、ユーザーが用意したサーバー上でエージェント用のプログラムを走らせておくことで使用できる
  • 公式のヘルプによれば、GitHub ActionsのRunnerはAzure PipelineのAgentをフォーク3したものらしく、それもあってAzure Pipelinesと構成がかなり似ている

GitLab2

  • gitlab-runnerというプログラム(GO製)を実行しておくことでビルドサーバーとして使用することができる

参考URL


  1. Linuxにも対応しているようですが、Alpine LinuxベースのDockerコンテナ上ではglibc関連の問題でうまく動きませんでした。(musl libcのライブラリに対してシンボリックリンクを張ってもダメでした。) 

  2. 恥ずかしながら触ったことが無いので、ふわっとしたことしか書けておりません。 

  3. GitHubがMS傘下になったことを感じさせる仕様ですね。 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした