CircleCI Server v3.x の新機能

CircleCI Server 3.x の一般公開が開始されました。 この最新バージョンの CircleCI Server では、ワークロードの増大に合わせてお客様専用の Kubernetes クラスタと社内ネットワーク内でスケーリングを行えるようになりました。 クラウド版 CircleCI のすべての機能はそのままご利用いただけます。

CircleCI Server 3.x では、CircleCI Orbs、ワークフローのスケジュール実行、マトリックス ジョブをはじめ、CircleCI の最新機能をご利用いただけます。 既存の CircleCI Server 2.19 から 3.x への移行をご希望のお客様は、担当のカスタマー サクセス マネージャーにお問い合わせください。 CircleCI Server 3.x では、月次パッチ リリースと四半期ごとの機能リリースを予定しています。

リリース 3.1.0

アップグレードに関する注意事項

本リリースでは、frontend-external ロード バランサーが廃止されました。 今後、受信トラフィックはすべて、traefik ロード バランサーにより処理されます。 過去の 3.x バージョンからアップデートする場合、frontend-external ロード バランサーを参照する DNS レコードを、circleci-server-traefik ロード バランサーを参照するように更新する必要があります。 traefik ロード バランサーの外部 IP アドレスまたは DNS 名は、クラスタにアクセス可能なターミナルで kubectl get svc/circleci-server-traefik を実行することで確認できます。

DNS レコードを更新して既存の CircleCI Server をアップグレードするには、次の手順を実施してください。

  1. Retrieve the external IP or DNS name for the traefik load balancer as described or by looking the DNS A record for app.<your domain name>` - this should already point to your traefik load balancer.

  2. 既存の CircleCI Server のドメイン名を参照している DNS A レコードを見つけます (アプリ のサブドメインを参照しているものではないことに注意してください)。

  3. A レコードを編集して、アプリのサブドメインのレコードと同じ様に traefik ロード バランサーを参照するように 設定します。 DNS サービスによっては、編集結果が反映されるまで数分かかります。

次に、管理コンソール ダッシュボードのメニュー バーで [Version History (バージョン履歴)] を選択し、CircleCI Server v3.1.0 の [Deploy (デプロイ)] をクリックします。

新機能

  • Telegraf プラグインを CircleCI Server に追加できるようになりました。 このプラグインは、サードパーティの監視ソリューション (Datadog など) を使用するようにカスタマイズできます。 詳細については、https://circleci.com/docs/ja/2.0/server-3-operator-metrics-and-monitoring/[メトリクスと監視に関するページ]を参照してください。

  • CircleCI Server 環境を完全にプライベート化したいというお客様のご要望に応え、使用するロード バランサーをプライベートのもののみに限定するオプションが導入されました。 詳細については、https://circleci.com/docs/ja/2.0/server-3-operator-load-balancers/[ロード バランサーに関するページ]を参照してください。

  • CircleCI Server 3.x では、オブジェクト ストレージにビルド アーティファクト、テスト結果、その他の状態をホストします。 すべての S3 互換ストレージと Google Cloud Storage がサポートされます。 詳細については、https://circleci.com/docs/ja/2.0/server-3-install/[インストールに関するページ]を参照してください。

  • CircleCI Server でセットアップ ワークフローによるダイナミック コンフィグが利用できるようになりました。 詳細については、https://circleci.com/ja/blog/introducing-dynamic-config-via-setup-workflows/[こちらのブログ記事]および「https://circleci.com/docs/ja/2.0/dynamic-config/[ダイナミック コンフィグ]」を参照してください。

  • CircleCI Server でランナーを利用できるようになりました。 インストール手順を含む詳細については、https://circleci.com/docs/ja/2.0/runner-overview/?section=executors-and-images[ランナーに関するページ]を参照してください。 ランナーを利用すると、CircleCI Server 環境で macOS Executor を使用できるほか、プライベート データ センターに CircleCI Server をインストールしている場合も VM サービス機能を使用できます。

  • v3.0 よりフロントエンド ロード バランサーが廃止され、Ingress リソースと Traefik Ingress コントローラーに置き換えられました。 この変更に伴い、既存の DNS の再構成が必要になります。 詳細と手順については、https://circleci.com/docs/ja/2.0/server-3-whats-new/#release-3-1-0[CircleCI Server の新機能に関するページ]を参照してください。

  • 次のサービスを外部化できるようになりました。 設定方法について詳しくは、https://circleci.com/docs/ja/2.0/server-3-install/[CircleCI Server v3.x のインストールに関するページ]を参照してください。

    • Postgres

    • MongoDB

    • Vault

  • バックアップと復元機能を利用できるようになりました。 詳細については、https://circleci.com/docs/ja/2.0/server-3-operator-backup-and-restore/[バックアップと復元に関するページ]を参照してください。

  • クラスタのヘルス状態と使用状況のモニタリングのため、Prometheus がデフォルトで CircleCI Server と共にデプロイされるようになりました。 Prometheus の管理と構成は KOTS 管理 UI で行えます。 詳細については、https://circleci.com/docs/ja/2.0/server-3-operator-metrics-and-monitoring/[メトリクスと監視に関するページ]を参照してください。

  • 2 X-large リソース クラスがサポートされるようになりました。 大きいリソース クラスを使用する場合、Nomad クラスタもそれに合わせて十分なサイズにする必要があります。

  • ビルド アーティファクトとテスト結果のライフライクルを、KOTS 管理コンソールの [Storage Object Expiry (ストレージ オブジェクトの有効期限)] で設定できるようになりました。また、有効期限を無効にしてアーティファクトとテスト結果を無期限に保存するオプションも選択できます。

修正点

  • CircleCI サポート バンドルにシークレットが含まれる原因となる、一連のバグを修正しました。

  • サードパーティのバグなどが原因で、シークレットの一部が誤って改変されていました。

  • PostgresDB により標準出力にシークレットが出力されていました。

  • 一部の CircleCI サービスでシークレットが記録されていました。

  • Nomad Terraform モジュールのネットワーク セキュリティが強化されました。

  • Terraform v0.15.0 以上がサポートされるようになりました。

  • インストール スクリプトが更新され、最新バージョンの Terraform でサポートされている機能を使用できるようになりました。

  • 大規模なビルドが誤ったマシンタイプで実行される原因となっていたバグを修正しました。 大規模なビルドは、今後、正しいクラス (vCPU 4 つ、15GB RAM) で実行されるようになります。

  • Vault のクライアント トークンの期限切れ時に contexts-service が起動しなくなるバグを修正しました。

  • 準備完了前に legacy-notifier から準備完了と報告されるバグを修正しました。

  • すべてのサービスで、JVM ヒープ サイズに関するパラメーターが削除されました。 ヒープ サイズはメモリ上限の半分に設定されます。

  • ネットワーク設定と証明書に対する変更が、Traefik で自動的に検出されるようになりました。 これまでは、変更後に再起動が必要でした。

  • CPU とメモリの最小要件が変更されました。 変更後の要件については、https://circleci.com/docs/ja/2.0/server-3-install-prerequisites/[インストールの前提条件に関するページ]を参照してください。

既知の問題

  • 現時点では、同じ CircleCI Server アカウントに属する複数の組織で、コンテキストに同一の名前を付けることができます。 これは、エラーや予期せぬ動作を引き起こす可能性があるため、お控えください。

  • CircleCI 1.0 のビルドはサポートされていません。 1.0ビルドを実行しようとした場合、アプリ画面上に問題の原因を示すようなフィードバックは表示されません。 お使いの環境でビルドを実行しても、アプリ画面にビルドが表示されない場合は、https://circleci.com/docs/ja/2.0/local-cli/[CircleCI CLI] を使用してプロジェクトの構成を検証し、問題の原因を調査することをおすすめします。

リリース 3.0.2

  • アーティファクトが作成から 30 日後に表示されなくなるバグを修正しました。 アーティファクトの保持期間のデフォルト設定は無期限に変更されました。 また、KOTS 管理者コンソールでこの保持期間を設定できるようになりました。

  • Traefik ポッドを手動で再起動しない限り、TLS 証明書の更新が Traefik で認識されないバグを修正しました。 今後、最初の KOTS デプロイ後に TLS 証明書が更新されると、Traefik ポッドは自動的に再起動されます。

  • ポッドがメモリ不足になりクラッシュする builds-service のバグを修正しました。

リリース 3.0.1

  • 以前のバージョンは脆弱性のある PsExec を使用していたため、build_agent version のバージョンが更新されました。

  • GitHub でのチェックが重複する問題を受け、output-processor の環境変数が変更されました。

  • Flyway で管理される順不同のデータベース移行に対応するため、vm-service のデプロイ構成が変更されました。

次に読む

CircleCl Server v3.x の詳しい情報については、以下をご覧ください。



Help make this document better

This guide, as well as the rest of our docs, are open-source and available on GitHub. We welcome your contributions.