Auto DevOpsをデプロイに備える
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
ベースドメインとデプロイ戦略を設定せずにAuto DevOpsを有効にすると、GitLabはアプリケーションを直接デプロイできません。したがって、Auto DevOpsを有効にする前に、それらを準備することをお勧めします。
デプロイ戦略
Auto DevOpsを使用してアプリケーションをデプロイする場合は、ニーズに最適な継続的デプロイ戦略を選択してください:
| デプロイ戦略 | セットアップ | 開発手法 |
|---|---|---|
| 本番環境への継続的デプロイ | デフォルトブランチを本番環境に継続的にデプロイするためのAuto Deployを有効にします。 | 本番環境への継続的デプロイ。 |
| スケジュールされた増分ロールアウトを用いた本番環境への継続的デプロイ | INCREMENTAL_ROLLOUT_MODE変数をtimedに設定します。 | ロールアウト間に5分の遅延を設けて、本番環境に継続的にデプロイします。 |
| Stagingステージへの自動デプロイ、本番環境への手動デプロイ | STAGING_ENABLEDを1に、INCREMENTAL_ROLLOUT_MODEをmanualに設定します。 | デフォルトブランチを継続的にステージングにデプロイし、本番環境には継続的デリバリーを行います。 |
デプロイ方法は、Auto DevOpsを有効にする際、または後から選択できます:
- GitLabで、プロジェクトの設定 > CI/CD > Auto DevOpsに移動します。
- デプロイ戦略を選択します。
- 変更を保存を選択します。
ダウンタイムとリスクを最小限に抑えるため、ブルー/グリーンデプロイ手法を使用してください。
Auto DevOpsのベースドメイン
Auto Review AppsとAuto Deployを使用するには、Auto DevOpsのベースドメインが必要です。
ベースドメインを定義するには、次のいずれかを実行します:
- プロジェクト、グループ、またはインスタンスで、設定に移動して追加します。
- プロジェクトまたはグループで、環境変数として
KUBE_INGRESS_BASE_DOMAINを追加します。 - インスタンスで、管理者エリアに移動し、設定 > CI/CD > Continuous Integration and Delivery(継続的インテグレーションとデリバリー)に移動して追加します。
ベースドメイン変数KUBE_INGRESS_BASE_DOMAINは、他の環境変数と優先順位が同じ変数に従います。
プロジェクトとグループでベースドメインを指定しない場合、Auto DevOpsはインスタンス全体のAuto DevOpsドメインを使用します。
Auto DevOpsには、ベースドメインに一致するワイルドカードDNS Aレコードが必要です。ベースドメインがexample.comの場合、次のようなDNSエントリが必要です:
*.example.com 3600 A 10.0.2.2この場合、デプロイされたアプリケーションはexample.comから提供され、10.0.2.2はロードバランサー(一般的にはNGINX)のIPアドレスです(要件を参照)。DNSレコードのセットアップは、このドキュメントの範囲外です。詳細については、DNSプロバイダーにお問い合わせください。
または、設定なしで自動ワイルドカードDNSを提供する無料のパブリックサービス(nip.ioなど)を使用することもできます。nip.ioの場合、Auto DevOpsのベースドメインを10.0.2.2.nip.ioに設定します。
セットアップが完了すると、すべてのリクエストはロードバランサーに到達し、ロードバランサーはアプリケーションを実行しているKubernetesポッドにリクエストをルーティングします。