ドキュメント
circleci.com
Start Building for Free

カスタマイズと設定

3 weeks ago1 min read
Server v2.x
サーバー管理者
On This Page

ここでは、CircleCI Server の動作に影響を与える重要なファイルや変数、及び設定オプションについて概説します。

注意が必要なファイルとフォルダー

ニーズパス詳細情報

全般設定

/etc/circle-installation-customizations

値については下記表を参照してください。

JVM ヒープサイズ

/etc/circleconfig/XXXX/customizations Supports: frontend, test_results

JVM_HEAP_SIZE で個々のコンテナのヒープサイズを調節してください。

カスタム CA 証明書

/usr/local/share/ca-certificates/

コンテナのカスタマイズ

/etc/circleconfig/XXX/customizations

CircleCI コンテナにより随所で使用されます。

/etc/hosts

/etc/hosts

フロントエンドを含む複数のコンテナが参照し、コンテナの /etc/hosts にコピーします。

/etc/environment

/etc/environment

すべてのコンテナが参照します。

/etc/circle-installation-customizations のプロパティー

プロパティー影響詳細情報

CIRCLE_URL

CircleCI が使用するスキームとホストをオーバーライドします。

JVM_HEAP_SIZE

このプロパティーを読み取る*すべての*コンテナの JVM ヒープサイズを設定します。

可能であれば、コンテナ固有の設定を使用してください (上記ファイルを参照)。

その他のプロパティーと環境変数

プロパティー影響詳細情報

HTTP_PROXY, NO_PROXY

Replicated と使用する CircleCI コンテナ外部のその他のサービスのプロキシです。

サービス設定のオーバーライド

ここでは CircleCI Server のサービスをオーバーライドするための設定インターフェイスについて説明します。

設定は、Services マシン上のファイルに環境変数をエキスポートすることで行われます。

/etc/circleconfig/workflows-conductor というパスで作成されたファイル 「customizations」について考えてみましょう。

export FOO="bar"

FOOの値は、CircleCI Server 設定のデフォルトコンテナマッピングで設定されたデフォルト値よりも優先されます。 

使用可能なオーバーライド

/etc/circleconfig/api-service/customizations
/etc/circleconfig/audit-log-service/customizations
/etc/circleconfig/contexts-service-db-migrator/customizations
/etc/circleconfig/contexts-service/customizations
/etc/circleconfig/cron-service-db-migrator/customizations
/etc/circleconfig/cron-service/customizations
/etc/circleconfig/domain-service-migrator/customizations
/etc/circleconfig/domain-service/customizations
/etc/circleconfig/federations-service-db-migrator/customizations
/etc/circleconfig/federations-service-migrator/customizations
/etc/circleconfig/frontend/customizations
/etc/circleconfig/output-processor/customizations
/etc/circleconfig/permissions-service-migrator/customizations
/etc/circleconfig/permissions-service/customizations
/etc/circleconfig/picard-dispatcher/customizations
/etc/circleconfig/schedulerer/customizations
/etc/circleconfig/test-results/customizations
/etc/circleconfig/vm-gc/customizations
/etc/circleconfig/vm-scaler/customizations
/etc/circleconfig/vm-service-db-migrator/customizations
/etc/circleconfig/vm-service/customizations
/etc/circleconfig/workflows-conductor/customizations

リソース クラス

CircleCI Server v2. 19 からサポート

リソースクラスをカスタマイズして、開発者に設定するジョブの CPU/RAM オプション を提供することができます。

Docker Executor でのリソースクラスのカスタマイズは、以下の手順に行います。

  1. Services マシンに SSH を行います。

  2. 以下を実行します。

    sudo mkdir /etc/circleconfig/picard-dispatcher
  3. 以下を実行します。

    sudo vim /etc/circleconfig/picard-dispatcher/resource-definitions.edn
  4. 必要なカスタマイズをファイルに追加して vim を保存し、 `:wq `で終了します。オプションとフォーマットについては、以下を参照してください。

  5. 以下を実行します。

    echo 'export CIRCLE_DISPATCHER_RESOURCE_DEF=/circleconfig/picard-dispatcher/resource-definitions.edn' | sudo tee /etc/circleconfig/picard-dispatcher/customizations
  6. CircleCI Server アプリケーションを再起動します。 The application can be stopped and started again from the Management Console Dashboard (for example, <circleci-hostname>.com:8800).

以下はリソースクラスのサンプル設定です。

サンプル設定:

{:default-resource-class :medium

 :resource-classes
 {:docker
  ;; Modify below
  {:small {:id "d1.small" :availability :general :ui {:cpu 2.0 :ram 4096 :class :small} :outer {:cpu 2.0 :ram 4096}}
   :medium {:id "d1.medium" :availability :general :ui {:cpu 4.0 :ram 8192 :class :medium} :outer {:cpu 4.0 :ram 8192}}
   :massive {:id "d1.massive" :availability :general :ui {:cpu 7.0 :ram 28000 :class :massive} :outer {:cpu 7.0 :ram 28000}}}
  ;; Modify above

  ;; NOTE: Do not delete or modify the following block: Such attempts will break machine builds.
  :machine
  {:medium {:id "l1.medium" :availability :general :ui {:cpu 2.0 :ram 4096 :class :medium} :outer {:cpu 1 :ram 512}}
   :large {:id "l1.large" :availability :general :ui {:cpu 4.0 :ram 16384 :class :medium} :outer {:cpu 1 :ram 512}}
   :windows.medium {:id "windows.medium" :availability :general :ui {:cpu 2.0 :ram 8192 :class :windows.medium} :outer {:cpu 1 :ram 512}}}}}

この中の一つを詳しく見てみましょう。

:medium {:id "d1.medium" :availability :general :ui {:cpu 4.0 :ram 8192 :class :medium} :outer {:cpu 4.0 :ram 8192}
  • :medium : 開発者が config.yml 内のリソースクラスを参照するために使用する名前で、リソースクラスの外部用の名前です。

  • :id "d1.medium" : リソースクラスの内部用の名前です。 この ID を Docker のリソースクラス用にカスタマイズすることができます。

  • :availability :general: 必須フィールドです。

  • :ui {:cpu 4.0 :ram 8192 :class :medium} - Information used by the CircleCI UI. これは、以下の :outer と一致している必要があります。

  • :outer {:cpu 4.0 :ram 8192} - This defines the CPU and RAM for the resource class.

ログイン画面

CircleCI Server v2. 17.3 からサポート

ログイン画面へのバナーの追加は以下のように行います。

  1. Services マシンから `/etc/circleconfig/frontend/customizations`ファイルにアクセスします。

  2. バナーに表示するテキストに置き換えて以下の行を追加します。

    export CIRCLE__OUTER__LOGIN_BANNER_MESSAGE="<insert-your-message-here>"
  3. 管理コンソール (your-circleci-hostname.com:8800) から CircleCI を再起動します。

Example of banner
Figure 1. ログイン画面のバナー例

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

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

サポートが必要ですか

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

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