Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@mechagumi

各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がホストするものは、パブリックリポジトリであれば無料で使用でき、プライベートリポジトリであれば従量課金で使用でき
    • 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
Help us understand the problem. What is going on with this article?
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
mechagumi
Windowsデスクトップアプリケーション(C#)の開発に携わっている会社員です。 DockerやCI/CDに興味を持ち、独学ですが少しずつ勉強しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?