Auto DevOps
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
Auto DevOpsを使用すると、煩雑な設定を行わずに、コードをすぐに本番環境対応のアプリケーションに変換できます。DevOpsライフサイクル全体は、業界のベストプラクティスを使用して事前設定されています。まずデフォルト設定で迅速にリリースし、より詳細な制御が必要な場合はカスタマイズしてください。複雑な設定ファイルや、DevOpsに関する深い専門知識は必要ありません。
Auto DevOpsでは、次の機能を利用できます。:
- 言語やフレームワークを自動的に検出するCI/CDパイプライン
- 本番環境に到達する前に脆弱性を見つける組み込みのセキュリティスキャン
- コミットごとのコード品質とパフォーマンステスト
- ライブ環境で変更をプレビューできる、すぐに使用可能なレビューアプリ
- Kubernetesクラスターへの迅速なデプロイ
- リスクとダウンタイムを低減する段階的なデプロイ戦略
Auto DevOpsの概要については、Auto DevOpsをご覧ください。
Auto DevOpsの機能
Auto DevOpsは、DevOpsの各ステージでの開発をサポートします。
| ステージ | Auto DevOpsの機能 |
|---|---|
| Build | Auto Build |
| Build | Auto Dependency Scanning |
| Test | Auto Test |
| Test | Auto Browser Performance Testing |
| Test | Auto Code Intelligence |
| Test | Auto Code Quality |
| Test | Auto Container Scanning |
| Deploy | Auto Review Apps |
| Deploy | Auto Deploy |
| Secure | Auto Dynamic Application Security Testing(DAST) |
| Secure | Auto静的アプリケーションセキュリティテスト(SAST) |
| Secure | Auto Secret Detection |
アプリケーションプラットフォームおよびPaaSとの比較
Auto DevOpsが提供する機能は、多くの場合、アプリケーションプラットフォームまたはPlatform as a Service(PaaS)に含まれています。
Herokuに着想を得たAuto DevOpsは、さまざまな点でHerokuよりも優れています。:
- Auto DevOpsは、あらゆるKubernetesクラスターで動作します。
- 追加費用はかかりません。
- 自分でホスティングするクラスターでも任意のパブリッククラウド上のクラスターでも使用できます。
- Auto DevOpsは、段階的にステップアップできる道筋を提供します。カスタマイズが必要な場合は、まずテンプレートの変更から始めて、そこから徐々に発展させていくことができます。
Auto DevOpsを始める
使用を開始するには、Auto DevOpsを有効にするだけです。これで、アプリケーションのビルドとテストを行うAuto DevOpsパイプラインを実行できます。
アプリをビルド、テスト、デプロイする場合は、次の手順に従います。:
- デプロイの要件を確認します。
- Auto DevOpsを有効にします。
- アプリをクラウドプロバイダーにデプロイします。
Auto DevOpsを有効または無効にする
Auto DevOpsは、Dockerfileまたは一致するビルドパックが存在する場合にのみ、パイプラインを自動的に実行します。
プロジェクト単位またはグループ全体でAuto DevOpsを有効または無効にできます。インスタンス管理者は、インスタンス内のすべてのプロジェクトに対してAuto DevOpsをデフォルトとして設定することもできます。
Auto DevOpsを有効にする前に、デプロイの準備を整えておくことをおすすめします。そうしなければ、Auto DevOpsはアプリをビルドしてテストすることはできますが、デプロイはできません。
プロジェクト単位
個々のプロジェクトにAuto DevOpsを使用する場合は、プロジェクトごとに有効にできます。複数のプロジェクトで使用する場合は、グループまたはインスタンスに対して有効にできます。これにより、各プロジェクトを個別に有効にする時間を節約できます。
前提要件:
- プロジェクトのメンテナーロール以上が必要です。
- プロジェクトに
.gitlab-ci.ymlが存在しないことを確認します。存在する場合は、CI/CD設定がAuto DevOpsパイプラインよりも優先されます。
プロジェクトに対してAuto DevOpsを有効にするには、次の手順に従います。:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > CI/CDを選択します。
- Auto DevOpsを展開します。
- デフォルトのAuto DevOpsパイプラインチェックボックスをオンにします。
- オプション(推奨): ベースドメインを追加します。
- オプション(推奨): デプロイ戦略を選択します。
- 変更を保存を選択します。
GitLabは、デフォルトブランチでAuto DevOpsパイプラインをトリガーします。
無効にするには、同じ手順に従ってデフォルトのAuto DevOpsパイプラインチェックボックスをオフにします。
グループ単位
グループに対してAuto DevOpsを有効にすると、そのグループのサブグループとプロジェクトが設定を継承します。サブグループやプロジェクトごとにAuto DevOpsを有効にするのではなく、グループでまとめて有効にすることで時間を節約できます。
グループに対して有効にした場合でも、Auto DevOpsを使用しないサブグループとプロジェクトに対してAuto DevOpsを無効にすることができます。
前提要件:
- グループのオーナーロールが必要です。
グループに対してAuto DevOpsを有効にするには、次の手順に従います。:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > CI/CDを選択します。
- Auto DevOpsを展開します。
- デフォルトのAuto DevOpsパイプラインチェックボックスをオンにします。
- 変更を保存を選択します。
グループのAuto DevOpsを無効にするには、同じ手順に従ってデフォルトのAuto DevOpsパイプラインチェックボックスをオフにします。
グループに対してAuto DevOpsを有効にした後、そのグループに属するプロジェクトのAuto DevOpsパイプラインをトリガーできます。:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- プロジェクトに
.gitlab-ci.ymlファイルが含まれていないことを確認します。 - ビルド > パイプラインを選択します。
- Auto DevOpsパイプラインをトリガーするには、パイプラインを新規作成を選択します。
アプリをクラウドプロバイダーにデプロイする
- Auto DevOpsを使用してGoogle Kubernetes Engine(GKE)上のKubernetesクラスターにデプロイする
- Auto DevOpsを使用してAmazon Elastic Kubernetes Service(EKS)上のKubernetesクラスターにデプロイする
- Auto DevOpsを使用してEC2にデプロイする
- Auto DevOpsを使用してECSにデプロイする
GitLabの更新時にAuto DevOpsの依存関係をアップグレードする
GitLabの更新時に、新しいGitLabバージョンに合わせてAuto DevOpsの依存関係をアップグレードする必要が生じる場合があります。:
- Auto DevOpsリソースのアップグレード:
- Auto DevOpsテンプレート。
- 自動デプロイテンプレート。
- 自動デプロイイメージ。
- Helm。
- Kubernetes。
- 環境変数。
- PostgreSQLのアップグレード。
プライベートレジストリのサポート
Auto DevOpsでプライベートコンテナレジストリを使用できるという保証はありません。
代わりに、Auto DevOpsでGitLabコンテナレジストリを使用して、設定を簡素化し、予期しない問題を回避します。
プロキシの背後でアプリケーションをインストールする
HelmとのGitLabインテグレーションは、プロキシの背後でのアプリケーションのインストールをサポートしていません。
これを実現するには、実行時にプロキシ設定をインストールポッドに挿入する必要があります。
関連トピック
トラブルシューティング
Auto DevOpsのトラブルシューティングを参照してください。