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

CircleCI Server v3.x の What’s New

2 months ago2 min read
Server v3.x
サーバー管理者

CircleCI Server 3.x の一般公開が開始されました。 最新バージョンのサーバーでは、重いワークロードの下でのスケールが可能になりました。独自の Kubernetes クラスターとプライベートネットワーク内で、CircleCI クラウドの機能を使えるようになります。

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

リリース 3.4.2

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

v3.4.x にアップグレードする前に、 circleci-server-kube-state-metrics という名前のデプロイを削除します。

  1. kubectl delete deployment/circleci-server-kube-state-metrics --cascade=orphan を実行します。

  2. KOTS 管理者コンソールからアプリをデプロイします。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

既知の問題

  • v3.4.x にアップグレードする前に、 circleci-server-kube-state-metrics という名前のデプロイを削除して下さい。

  • KOTS バージョン 1.65.0 - 1.67.0 で Prometheus が破損しています。 この機能に依存している場合は、この問題が解決されるまで、KOTS のバージョンをアップグレードしないでください。

  • Machine Executor を使用するジョブの SSH による再試行では、プライベート IP アドレスが表示されます。 このため、Machine Executor を使用するジョブの SSH での再試行は、プライベートなインストールでは標準的に機能しますが、パブリックなインストールでは、VPC に VPN を使用するなどして、 表示されたプライベート IP にアクセスできるようにする必要があります。

  • CircleCI 1.0 のビルドはサポートされていません。 CircleCI 1.0 のビルドを実行した場合、ビルドが実行されない上、アプリ画面上でエラーなどが表示されません。 ビルドを実行しても CircleCI アプリに何も表示されない場合は、 CircleCI CLI を使用してプロジェクトの設定を検証し、問題の原因となる可能性のある詳細情報を得るようユーザーに通知する必要があります。

  • プロキシ内にインストールしている場合、KOTS 管理コンソールはアップグレードされません。 プロキシ設定が削除され、KOTS 管理画面が壊れる原因となります。

リリース 3.4.1

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

v3.4.x にアップグレードする前に、 circleci-server-kube-state-metrics という名前のデプロイを削除します。

  1. kubectl delete deployment/circleci-server-kube-state-metrics --cascade=orphan を実行します。

  2. KOTS 管理者コンソールからアプリをデプロイします。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.4.0

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

v3.4.x にアップグレードする前に、 circleci-server-kube-state-metrics という名前のデプロイを削除します。

  1. kubectl delete deployment/circleci-server-kube-state-metrics --cascade=orphan を実行します。

  2. KOTS 管理者コンソールからアプリをデプロイします。

新機能

  • Machine Executor 用の Android イメージの提供を開始しました。 詳細については、 Machine Executor での Android イメージの使用 ガイドを参照してください。

  • カスタム Docker レジストリから必要に応じて CircleCI Build Agent をプルできるようになりました。 詳細についてはカスタマーサポートにお問い合わせください。

  • Amazon Certificate Manager(ACM)を使って TLS 証明書を管理できるようになりました。 詳細については、https://circleci.com/docs/ja/server-3-install/#frontend-settings[CircleCI Server v3.x のインストールガイド] を参照してください。

  • Kubernetes v1.16 - v1.23 に対応しました。

  • GCP 上のインストール環境で Workload Identity が使用できるようになりました。 Workload Identity は静的認証情報の代わりにご使用いただけます。 詳細については、 CircleCI Server v3.x のインストールガイド を参照してください。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.3.1

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.3.0

新機能

  • Nomad クライアントの拡張に Nomad Autoscaler が使用できるようになりました。 詳細については、 実行環境のインストール を参照してください。

  • Webhooks が利用できるようになりました。

  • インサイトダッシュボードが利用できるようになりました。

  • IRSA (AWS) をオブジェクトストレージの認証キーの代わりに使用できるようになりました。

  • ビルド通知を送信するメールアドレスを KOTS 管理者コンソールから設定できるようになりました。

  • リバースプロキシを Traefik から Kongに変更しました。 しかし、アップグレードの際の中断を最小限に留めるために、Kong が使用するサービス名への変更はしておりません。 そのため、サービス名は、circleci-server-traefik と表示されますが、実際には Kong のサービスです。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.2.2

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

  • ワークフローの再実行 のエンドポイントは、accepted メッセージではなくワークフロー ID を返すようになりました。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.2.1

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

KOTS 管理者コンソールのメニューバーで Version History を選択し、CircleCI Server v3.2.0 の Deploy をクリックします。

v3.1.x から v3.2.x. にアップグレードする前に、まず [Upgrade notes] を参照して下さい。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.2.0

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

KOTS 管理者コンソールのメニューバーで Version History を選択し、CircleCI Server v3.2.0 の Deploy をクリックします。

サーバー 3.1.x から 3.2 へのアップグレード時には、PostgreSQL ポッドの変更のためにダウンタイムが発生します。 このアップデートにより 2つの問題が発生する可能性があり、ここではその問題について説明します。

PostgreSQL ポッドが pending のまま

アップグレード後に PostgreSQL ポッドが pending 状態のままである場合、ポッドを以下の手順で 0 にスケールダウンしてから、再度スケールアップしてください。

PostgreSQL ポッドが pending 状態かどうかを確認するには、以下のコマンドを使用します。

$ kubectl get pod -l app.kubernetes.io/name=postgresql
NAME           READY   STATUS    RESTARTS   AGE
postgresql-0   1/1     Pending   0          3m

以下のコマンドにより、データを損失することなくポッドを 0 にスケールダウンし、アプリケーションポッドを終了することができます。

kubectl scale deployment -l layer=application --replicas 0

すべてのアプリケーション層のポッドが終了したら、以下の いずれか を実行します。

  • KOTS 管理者コンソールからアップデートを再デプロイする、

  • または、以下の 2 つのコマンドを実行して、ポッドを再デプロイし、サーバーを機能的な状態に戻します。

    kubectl scale deployment -l layer=application --replicas 1

    その後、次のコマンドで output-processor をスケールアップします。

    kubectl scale deployment output-processor --replicas 2

Traefikのポッドが指定通りに実行されない

アップグレード後に Traefik ポッドが 2 つあることに気付いた場合、新しいポッドが指定通りに実行されるように、古いポッドを見つけて削除する必要があります。

Traefik ポッドのステータスを確認するには、以下にコマンドを使用します。

$ kubectl get pod -l app=traefik
NAME                                      READY   STATUS    RESTARTS   AGE
circleci-server-traefik-9d6b86fd8-f7n2x   1/1     Running   0          24d
circleci-server-traefik-cf7d4d7f6-6mb5g   1/1     Error     0          3m

以下のコマンドで古い Traefik ポッドを削除します。

kubectl delete pod circleci-server-traefik-<older pod hash>

これにより、新しい Traefik ポッドが指定通りに実行されるようになります。

新機能

  • 完全なプライベートネットワーク環境でのインストールを必要とするお客様は、KOTS管理コンソールの設定画面からパブリックIPがVMに割り当てられないようにすることができます。 なお、非パブリックIPの設定を有効にした場合、実行中のジョブにSSHアクセスが必要なときは、VPCにVPNを設定するなどの回避策が必要となりますのでご注意ください。

  • プロキシ経由でアウトバウンドの通信をしているお客様は、KOTS管理コンソールからプロキシの設定ができるようになりました。 サーバーのプロキシサポートの詳細については、 サーバー 3.xのプロキシ設定 を参照してください。

  • マシン実行環境に新たなリソースクラス、サイズ、Executorが追加されました。 具体的には、Arm (medium, large), Linux (medium, large, X large, XX large),Windows (medium, large, XX large)が利用可能となります。

  • インサイトAPI が、すべてのサーバーのお客様にご利用いただけるようになりました。 ビルドデータやその他のデータを活用して、チームのパフォーマンスや、ビルドやテストの健全性をより良く確認することができます。

  • 管理画面を刷新し、インストール手順が更新されました。これにより、サーバーの設定や管理がより簡単になりました。

  • VMサービスにカスタムLinux AMIが利用できるようになりました。

  • SSL ターミネーションを無効にできるようになりました。 サーバーをファイアウォールの内側に置いている場合、これによりファイアウォールでの SSL ターミネーションが利用できます。

  • 永続ボリュームのサイズを制御できるようになりました。 大規模なお客様の場合、初期の永続ボリュームのサイズがデフォルトでは小さすぎる場合がありました。 インストール時に永続ボリュームの設定を行うことができるようになり、必要なお客様にはより簡単に移行していただけます。 詳細については、 内部データベースのボリューム拡張のドキュメント を参照してください。

  • nomad client terraform に Nomad のオートスケーリングの例を追加しました。

  • 「安全でない」ビルド成果物の提供可否が選択できるようになりました。 以前はこのオプションは隠されており、安全ではない可能性のあるアーティファクトはプレーンテキストとしてレンダリングされていました。 詳細については、 CircleCI Server v3.x ビルド アーティファクト を参照してください。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.1.0

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

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

  1. 上述の方法を実行して、Traefik ロードバランサーの外部 IP アドレスまたは DNS 名を確認します。または、app.<your domain name> が Traefik ロードバランサーを既に参照しているのであれば、その DNS A レコードを確認します。

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

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

次に、KOTS 管理者コンソールダッシュボードのメニューバーで Version History を選択し、CircleCI Server v3.1.0 の Deploy をクリックします。

新機能

  • Telegraf のプラグインをサーバーに追加してカスタマイズすることにより、例えば Datadog のようなサードパーティのモニタリングソリューションを使用できるようになりました。 詳しくは、 メトリクスと監視 をご覧ください。

  • CircleCI Server 環境を完全にプライベート化したいというお客様のご要望に応え、使用するロード バランサーをプライベートのもののみに限定するオプションが導入されました。 詳細については、 ロードバランサー のガイドをご覧ください。

  • CircleCI Server 3.x では、オブジェクト ストレージにビルド アーティファクト、テスト結果、その他の状態をホストします。 すべての S3 互換ストレージと Google Cloud Storage がサポートされます。 詳細については、 インストールガイド を参照してください。

  • CircleCI Server でセットアップ ワークフローによるダイナミック コンフィグが利用できるようになりました。 詳細については、 ブログ記事 および ダイナミックコンフィグ をご覧ください。

  • ランナーがサーバーで利用可能となりました。 インストール手順などの詳細については、 ランナーに関するドキュメント をご覧ください。 ランナーを利用すると、CircleCI Server 環境で macOS Executor を使用できるほか、プライベート データ センターに CircleCI Server をインストールしている場合も VM サービス機能を使用できます。

  • v3.0 よりフロントエンド ロード バランサーが廃止され、Ingress リソースと Traefik Ingress コントローラーに置き換えられました。 この変更に伴い、既存の DNS の再構成が必要になります。 詳細と手順については、 CircleCI Server の What’s new のページ を参照してください。

  • 次のサービスを外部化できるようになりました。 設定方法については、 Server v3.x インストールガイドをご覧ください。

    • Postgres

    • MongoDB

    • Vault

  • バックアップ&復元機能が利用できるようになりました。 詳細については、 バックアップと復元 をご覧ください。

  • クラスタのヘルス状態と使用状況のモニタリングのため、Prometheus がデフォルトで CircleCI Server と共にデプロイされるようになりました。 Prometheus の管理と設定は KOTS 管理者コンソールで行えます。 詳細については、 メトリクスと監視 をご覧ください。

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

  • ビルドアーティファクトとテスト結果のライフサイクルを KOTS 管理者コンソールの Storage Object Expiry で設定できるようになりました。また、期限切れを無効にしてアーティファクトとテスト結果を無期限に保持するオプションも追加されました。

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.0.2

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

リリース 3.0.1

更新履歴

このリリースの詳細は、 changelog を参照して下さい。

次に読む

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


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

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

サポートが必要ですか

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

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