デプロイのためのAuto DevOpsの準備
ベースドメインとデプロイ戦略を設定せずにAuto DevOpsを有効にすると、GitLabはアプリケーションを直接デプロイできません。したがって、Auto DevOpsを有効にする前にそれらを準備することをお勧めします。
デプロイ戦略
GitLab 11.0で導入されました。
アプリケーションのデプロイに Auto DevOps を使用する場合、ニーズに最適な継続的デプロイ戦略を選択してください:
デプロイ戦略│セットアップ│方法論│–││本番環境への継続的デプロイ│本番環境に継続的にデプロイされるデフォルトのブランチを使用して、Auto Deploy を有効にします。 | 本番環境への継続的なデプロイ. | 時間差ロールアウトを使用した本番環境への継続的なデプロイ. |
INCREMENTAL_ROLLOUT_MODE 変数をtimed に設定します。 | 本番環境への継続的なデプロイ。 |
自動デプロイをステージングに、手動デプロイをプロダクションに|STAGING_ENABLED を1 に、INCREMENTAL_ROLLOUT_MODE をmanual に設定します。 | デフォルトのブランチは、ステージングに継続的にデプロイされ、本番環境に継続的に配信されます。 |
デプロイ方法は、Auto DevOps を有効にしたとき以降に選択できます:
- GitLabで、プロジェクトのSettings > CI/CD > Auto DevOpsに進んでください。
- デプロイ戦略を選択します。
- 変更を保存を選択します。
Auto DevOpsの基本ドメイン
Auto DevOpsベースドメインは、Auto Review Appsと Auto Deployを使用するために必要です。
ベースドメインを定義するには
- プロジェクト、グループ、またはインスタンスレベルで:クラスター設定に移動し、そこに追加します。
- プロジェクトまたはグループレベルで: 環境変数として追加します:
KUBE_INGRESS_BASE_DOMAIN
. - インスタンスレベルの場合: Admin AreaのSettings > CI/CD > Continuous Integration and Deliveryに移動し、そこに追加します。
ベースドメイン変数KUBE_INGRESS_BASE_DOMAIN
は、他の環境変数と同じ優先順位に従います。
プロジェクトとグループでベース・ドメインを指定しない場合、Auto DevOpsはインスタンス全体のAuto DevOpsドメインを使用します。
Auto DevOpsには、ベースドメインに一致するワイルドカードDNSA
レコードが必要です。ベースドメインがexample.com
の場合、次のようなDNSエントリーが必要になります:
*.example.com 3600 A 10.0.2.2
この場合、デプロイされたアプリケーションはexample.com
から提供され、10.0.2.2
はロードバランサー(通常は NGINX)の IP アドレスです(要件を参照)。DNS レコードの設定については、このドキュメントの範囲を超えています。
また、nip.io のような無料の公開サービスを利用することもできます。nip.io は設定なしで自動的にワイルドカード DNS を提供します。nip.ioでは、Auto DevOpsのベースドメインを10.0.2.2.nip.io
。
セットアップが完了すると、すべてのリクエストがロードバランサーにヒットし、ロードバランサーはアプリケーションを実行しているKubernetesポッドにリクエストをルーティングします。