Auto DevOps

Auto DevOps はDevOps ベストプラクティスの自動適用を可能にするテクノロジーです。

現在のエンドツーエンドテスト

このエントリを作成した時点では、2 つのエンドツーエンドテストファイルがあります。

qa ディレクトリの qa/specs/features/browser_ui/7_configure フォルダ配下にあります。現在、エンドツーエンドの API ベースのテストはありません。

テストの実行場所

非隔離テストの実行環境

Configure AutoDevOps Templates template: express|rails|spring works with Auto DevOps テストは :staging 環境のみで実行するようにタグ付けされており、そのため以下で実行されます。

  • staging
    • qa-triggers-browser_ui-7_configure

隔離済みテスト

以下のテストは quarantine タグが付いている場合、これらの環境で実行されます。

Configure AutoDevOps Templates template: express|rails|spring works with Auto DevOps

  • staging
    • qa-triggers-browser_ui-quarantine

テスト実行のための GDK 設定

GKE クラスターで GDK を使用する方法 に関するドキュメントに従ってください。

注意: 以下のデフォルト手順では、開発とテストに「gitlab-internal-153318 という GCP プロジェクト」を使用するよう規定されていますが、そのプロジェクトでクラスターを作成するには私が持っていない権限セットが必要でした。代わりに gitlab-qa-resources プロジェクトを使用することが私の権限セットと適合しやすいことがわかりました。

テストの実行

create_project_with_auto_devops_spec テストを実行するには、GKE クラスターを実行するための GDK が設定されていることを確認し(上記の手順を参照)、../gitlab/qa/ ディレクトリからテストを呼び出してください。

例: CHROME_HEADLESS=true bundle exec bin/qa Test::Instance::All https://gdk.test:3000 -- qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb --tag orchestrated --tag kubernetes

または

オーケストレーション を実行するには gitlab-qa Test::Instance::Image EE -- qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb --tag orchestrated --tag kubernetes

auto_devops_templates_spec.rb テストを実行するには、環境変数の設定に関するこれらの手順に従って staging 環境に対してテストを実行することが最も簡単です。 注意: 1password の “QA Vault” へのアクセスが必要です。アクセスが必要な場合は、こちらから個人アクセスリクエストを記入できます。

例: オーケストレーション を実行するには gitlab-qa Test::Instance::Staging -- qa/specs/features/browser_ui/7_configure/auto_devops/auto_devops_templates_spec.rb(隔離されたテストを実行するには --tag quarantine を追加してください)。

Auto DevOps へのコントリビューションに役立つリンク

* qa-mirror でマスターパイプラインを実行している理由については、以下の Issue をご覧ください。