LoginSignup
2
2

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-10-13

概要

ユーザー自身が構築したビルドサーバーを各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 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傘下になったことを感じさせる仕様ですね。 

2
2
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
2
2