カスタマイズと設定

Last updated
Tags Server v2.x サーバー管理者
CircleCI Server version 2.x は、リリースのサポートが終了しています。 リリースがサポートされているバージョンへのアップグレードについては、お客様のアカウントチームにご相談ください。

ここでは、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 のプロパティー

すべてのプロパティーが`export ENV_VAR="value"`の形式である必要があります。
プロパティー 影響 詳細情報

CIRCLE_URL

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

JVM_HEAP_SIZE

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

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

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

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

HTTP_PROXY, NO_PROXY

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

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

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

設定のカスタマイズにより悪影響を及ぼす可能性があります。変更を行う前に、 support@circleci.com にお問い合わせください。

設定は、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 オプション を提供することができます。

machine Executor のリソースは、このページで説明する方法では設定できません。 VM の CPU およびメモリサイズを変更するには、管理コンソールの [VM Provider] で、 `AWS Instance Type ` を変更します。 See the VM Service guide for more details.
リソースクラスの設定を以下の手順で完了したら、開発者がこれらのオプションを正しく使用できるように設定します。

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

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

  2. 以下を実行します。

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

    sudo vim /etc/circleconfig/picard-dispatcher/resource-definitions.edn
    このファイルは CircleCI Server のリソースクラス定義をすべて置き換えるため、ご自身がカスタマイズをしたいリソースクラスだけでなくこの時点でお客様のユーザーが必要とするすべてのリソースクラスを含めることが重要です。
  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.

ジョブは、必要なリソースを割り当てるために Nomad クライアントに十分な CPU/RAM がある場合にのみ実行できます。 そうでない場合、ジョブはキューイングします。 See our Nomad metrics guide for information on monitoring the capacity of your Nomad cluster, and Nomad Client System Requirements for more about capacity, and how Nomad allocates jobs.

ログイン画面

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 のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

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