Start Building for Free
CircleCI.comアカデミーブログコミュニティサポート

CircleCI のセルフホストランナーの概要

3 weeks ago1 min read
クラウド
Server v4.x
Server v3.x
このページの内容

はじめに

CircleCI セルフホストランナーを使用すると、お客様のインフラストラクチャでジョブを実行できるようになります。 これにより、より幅広いアーキテクチャでビルドとテストができるようになり、環境をより細かく制御することもできるようになります。

セルフホストランナーをインストールするには、Kubernetes クラスタ内でコンテナランナーを使用する方法と、マシン実行環境内でマシンランナーを使用する方法があります。 下図は、CircleCI のコンテナランナーとマシンランナーが、既存のシステムをどのように拡張するかを示しています。

CircleCI ランナーのユースケース

CircleCI では、セルフホストランナーにより主に下記の 2 つのユースケースの実現を目指しています。

  • 特権アクセスと制御の提供 - 環境の分離に関する要件が厳しい企業では、オンプレミス環境やアクセス制限されたインフラストラクチャでジョブを実行する必要がある場合があります。 セルフホストランナーを使用することで、以下が可能になります。

    • IP アドレスの制限: セルフホストランナーには、お客様による制御が可能な静的 IP アドレスを使用できます。

    • ID とアクセス管理 (IAM) 権限 の付与: AWS にセットアップしたセルフホストランナーに、IAM の権限を割り当てることができます。

    • オペレーティングシステムの監視

    • プライベートネットワークへの接続

  • 企業独自のコンピューティング要件: CircleCI のリソースクラスとして提供されていない環境やアーキテクチャでジョブを実行する必要のあるお客様は、セルフホストランナーを使用してニーズを満たすことができます。

ランナーの実行環境の選択

CircleCI では、セルフホストランナー用に複数の実行環境 (コンテナとマシン) を提供しています。

コンテナランナー

コンテナランナーは Kubernetes (k8s) クラスタにインストールされ、ネイティブな Docker Executor を使ってジョブを CircleCI のクラウドプラットフォームで実行するのと同じように、コンテナ化したジョブをセルフホストコンピューティング環境で実行できます。 このソリューションでは、数百のジョブを同時に実行でき、Pod をコンピューティングの要求に合わせて効果的にスケーリングできます。

コンテナランナーでは、 CircleCI の CircleCI イメージ とカスタム Docker イメージを使用できます。

マシンランナー

マシンランナーは、仮想マシン、または物理マシン上にネイティブにインストールされます。 各マシンランナージョブは、セルフホストランナーバイナリがインストールされているのと同じ環境 (仮想環境または物理環境) で実行されます。 CircleCI のマシンランナーは、Linux、Windows、macOS にインストールできます。 コンテナ化された CI ジョブを実行していない場合は、マシンランナーを使用してください。 Machine Executor 環境を使用する場合の例については、 Docker からマシンへ のページをご覧ください。

Kubernetes を使用しておらず、CI ジョブをセルフホストランナー上のコンテナ内で実行したい場合は、マシンランナーを Docker にインストールします。

マシンランナーには、CircleCI イメージまたはカスタム Docker イメージとの互換性はありません。

はじめよう

CircleCI のセルフホストランナーの使用を開始するには、次の手順を実行します。

CircleCI のセルフホストランナーの操作

CircleCI のセルフホストランナーのインストール後、セルフホストランナーは circleci.com をポーリングして稼働し、ジョブを実行して、ステータス、ログ、アーティファクトを CircleCI に報告します。

利用可能なセルフホストランナープラットフォーム

サポート対象 レベルのプラットフォームでは、各システムで CircleCI セルフホストランナーのビルドとテストが完了しています。

サポート対象のプラットフォームでは、ユーザーに以下が提供されます。

  • ドキュメントとベストプラクティス

  • サポート: CircleCI カスタマーエンジニアによる、Advanced サービスレベルアグリーメント (SLA) の範囲内の問題解決支援

サポート対象 の CircleCI のセルフホストランナーは、以下のプラットフォームでご利用いただけます。

コンテナランナーとマシンセルフホストランナー:

  • Ubuntu 18.04 以降 (x86_64、ARM64)

コンテナランナー:

  • Kubernetes (x86_64、ARM64)

マシンランナー:

  • macOS 11.2 以降 (Intel、Apple M1)

  • Windows Server 2019, 2016 (x86_64)

  • Linux ディストリビューション - RHEL8、SUSE、Debian など (x86_64、ARM64、s390x、ppc64le)

CircleCI では、セルフホストランナー用の新しいプラットフォームの開発が活発に行われている際に、プレビュー 段階のプラットフォームをご提供する場合があります。 プレビュー段階のプラットフォームがある場合は、このセクションを更新し、そのプラットフォームの情報と制限事項を通知します。

制限事項

標準的な CircleCI 機能のほとんどすべてがセルフホストランナージョブで使用できますが、現時点では、まだいくつかサポートされていない機能があります。

  • 以下の定義済みの環境変数はランナー Executor には挿入されていません。

    • CIRCLE_PREVIOUS_BUILD_NUM

    • すべての非推奨クラウド環境変数

  • Docker レイヤーキャッシュ

  • コンテナランナーに関する制限事項については、 コンテナランナー のページをご確認ください。

詳細

CircleCI Academy の ランナーコース を受講すると、お客様のインフラストラクチャでのマシンランナーのインストール方法についてさらに詳しく学ぶことができます。


ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。