CircleCI Server v3.x 運用の概要
このページの内容
以下のガイドは、CircleCI Server 3.x の保守・監視を行う CircleCI Server の運用者の方々に役立つ情報が含まれます。
本ページの内容は、 CircleCI Server 3.x の概要 を先に読んでいることを前提としています。
CircleCI Server では、 Nomad スケジューラ を使用して CI ジョブのスケジュールを設定します。 Nomad コントロールプレーンが Kubernetes 内で動作するのに対し、Nomad クライアントはクラスタ外部にプロビジョニングされます。 Nomad クライアントが、Nomad コントロールプレーン、出力プロセッサ、VM サービスにアクセスできる必要があります。
CircleCI Server は Nomad クライアント上で Docker ジョブを実行しますが、専用の VM でジョブを実行することもできます。 これらの VM ジョブは Nomad クライアントによって制御されます。そのため Nomad クライアントは、SSH 接続用にポート 22、リモート Docker ジョブ用にポート 2376 で VM にアクセスできる必要があります。
ジョブのアーティファクトと出力は、Nomad ジョブからオブジェクト ストレージ (S3、GCS、またはその他のサポートされているオプション) に直接送信されます。
オブジェクト ストレージには、監査ログやアプリケーションのその他のアイテムも保存されます。そのため、Kubernetes クラスタと Nomad クライアントの両方がオブジェクト ストレージにアクセスできる必要があります。
実行環境
CircleCI Server 3.x では、プライマリジョブ スケジューラとして Nomad を使用します。 ジョブスケジューラ、およびクライアントとクラスタの基本的な操作方法については、 Nomad クラスタの操作ガイド を参照してください。
デフォルトでは、CircleCI の Nomad クライアントは、プロジェクトの .circleci/config.yml
ファイルでジョブごとに設定されている Executor に従って、コンピューティングリソースを自動的にプロビジョニングします。
Nomad クライアント
Nomadクライアントは実行後に状態を保持しないため、必要に応じてコンテナ数を増減することができます。
すべてのビルドを処理できる十分な数の Nomad クライアントが確実に実行されるようにするには、キューに入っているビルドを追跡し、必要に応じて Nomad クライアントマシンの数を増やして負荷を分散させます。 Nomad クライアントのインスタンスタイプを小さいものにするとコストを削減できますが、使用できる Docker リソースクラスが制限されます。 利用可能な Docker リソース クラスを参照して、最適なものを判断してください。 デフォルトのインスタンスタイプでは、最大で xlarge
リソースクラスを実行できます。
Nomad クライアントのリソースを最適に使用するためのオプションについては、 Nomad ドキュメント を参照してください。
Nomad クライアントマシンの最大サイズは RAM 128GB/64 CPUです。 使用する Nomad クライアントマシンのサイズを大きくしたい場合は、CircleCI のアカウント担当者にお問い合わせください。 |
Nomad のポート要件の詳細については、 クラスタのハードニング をご覧ください。
GitHub
CircleCI では、GitHub または GitHub Enterprise を ID プロバイダーとして使用しています。 また GitHub Enterprise では、 SAML または SCIM を使って、外部の ID プロバイダーでユーザーを管理することができます。
CircleCI では、セットアップ後の URL やバックエンドの GitHub インスタンスの変更には対応していません。 |
以下の表に、GitHub を実行するマシンでサービス および Nomad クライアントインスタンスと通信する際に使用されるポートを示します。
ソース | ポート | 用途 |
---|---|---|
Services | 22 | Git アクセス |
Services | 80 または 443 | API アクセス |
Nomad クライアント | 22 | Git アクセス |
Nomad クライアント | 80 または 443 | API アクセス |
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.