GitLabインテグレーション
mablのビルド済みのGitLabパイプラインイメージを使用すると、mablとGitLab CI/CDパイプラインを簡単に統合できます。
GitLabパイプラインインテグレーションは、以下の機能を備えています。
- CI/CDパイプラインからmablテストを簡単にトリガーする。
- パイプラインステージとしてmablテストの結果のサマリーを表示する。
- マージリクエストでmablテストの結果を確認する。
GitLabインテグレーションとmabl-cliイメージのどちらを使用すべきか?
このインテグレーションは、mablテストの結果情報をGitLabマージリクエストに自動的に追加し、GitLab CI/CDパイプラインと簡単に統合することを目的としています。ただし、mablテストをトリガーするAPIの利用可能なすべての機能を使用する場合は、Mabl CLI Dockerイメージの使用を検討するか、mabl CLIの概要をパイプラインに直接インストールしてください。

マージリクエストでmablの結果を確認

GitLab CI/CDパイプラインでmablの結果をライブで確認
セットアップ
パイプラインへのmablの追加
mablテストを実行するパイプラインの.gitlab-ci.ymlに、以下のパイプラインステージを追加する必要があります。操作するセクションは、以下の「run-mabl-tests」セクションです。
ビルドの成功をmablテストの成功に結び付ける
mablテストが失敗すると、mablビルドステージはゼロ以外の終了コードを出力します。これにより、パイプラインがGitLabで「failed」としてマークされることになります。これを回避するには、ステージの「variables」でMABL_FAIL_STAGE_ON_TEST_FAIL='false' を設定します。
build-1:
stage: build
script:
- echo "Building your code"
- echo "Place your build code here"
# Add this build stage to your pipeline YAML
run-mabl-tests:
image: mablhq/gitlab-integration:latest
stage: test
variables:
# Use 'mabl deployments create --help' on @mablhq/mabl-cli to learn more about flags
MABL_TEST_SELECTORS: "--application-id=<YOUR-APP-ID> --labels=gitlab-demo"
script:
- "./mabl/home/run.sh"
only:
- merge_requests
- branches
except:
- main
deploy-1:
stage: deploy
script:
- echo "Deploying code to production"
- echo "Place your deployment code here"
環境変数MABL_TEST_SELECTORSで、mabl CLIのdeployments createコマンドのテストセレクターフラグを使用することで、インテグレーションによって行われるアクションをカスタマイズできます。以下のようなフラグがあります。
- --application-id: テストするアプリケーションを選択します。
- --environment-id: テストする環境を選択します。
- --labels: 指定したラベルと一致するプランを実行します。
- --url: テスト実行用のURLオーバーライドを渡します。
注: --application-idまたは--environment-idのどちらかを渡す必要があります。
プレビュー環境/レビューアプリケーションの使用
GitLabのReview Appsと動的環境を使用する場合は、変数MABL_TEST_SELECTORSに--url ${CI_ENVIRONMENT_URL}フラグを追加して、Review Appsに対するテストを行います。
mablのパーソナルアクセストークンの作成
mablがマージリクエストを更新できるようにするため、apiスコープのパーソナルアクセストークンを作成する必要があります。これを行うには、GitLabの「Personal Access Tokens」セクションにアクセスし、以下の画像のようにMabl Access Tokenというキーを作成します。
トークン値を必ず保存してください。

mablのGitLabアクセストークンの作成
GitLab用のmabl APIキーの作成
mabl APIアクセスキーは、mablの [Settings] > [APIs] にあります。まだCLIスコープのキーがない場合は、「高度なAPIキー管理」で、キーの作成と管理の方法を参照してください。

GitLabで使用するmabl REST APIキーの作成
プロジェクトに必要なシークレットの追加
CI/CDパイプラインを実行するプロジェクトに、必要なシークレットを保存する必要があります。
- [Project] > [Settings] > [CI/CD] > [Variables] にアクセスします。
- 変数MABL_GITLAB_API_TOKENを追加して、上記で作成したパーソナルアクセストークンに設定します。
- 変数MABL_REST_API_KEYを追加して、mabl APIキーに設定します。
保護されたブランチ/タグ (詳細) を使用していない場合は、[Protected] オプションをオフにします。
Unless you are using Protected Branches/Tags (learn more), uncheck the Protected option.

GitLabプロジェクトにmablシークレットを追加
Mabl自動ブランチのサポート
mablテストのブランチ上で機能ブランチテストを実行すると便利な場合がよくあります。デフォルトでは、GitLabインテグレーションはGitLabビルドブランチを検出し、(1) 同じ名前のmablテストブランチを自動的に作成し、(2) そのブランチに対してmablテストを実行します。これは、GitLabが提供するメタデータからmablがブランチを検出できる場合にのみ行われます。
検出されたこのブランチは、以下のように、mablテストの結果に表示されます。

mabl Webアプリケーションに表示された、「your-branch」という名前の自動検出されたブランチ
自動ブランチのサポートは、次のいずれかの方法で無効にできます。
- スクリプト変数MABL_TEST_SELECTORSに--branch-name=your-preferred-nameを渡す。
- スクリプト変数MABL_AUTO_BRANCH_ENABLED=falseを設定する。
すべて完了
これで、GitLab CI/CDパイプラインの設定に応じて、mablテストステージを実行すると、以下のことができるようになります。
- マージリクエストのコメントとして、実行が開始されたことを確認する。
- パイプラインジョブページで、実行中のテストのライブステータスを確認する。
- テスト終了時に、マージリクエストでMarkdown形式のテスト出力を確認する。
- mablテストが失敗した場合、ビルドを失敗にする (オプション)。
リリースノート
`v1.0.6 - 2021年7月23日
- MABL_AUTO_BRANCH_ENABLED環境フラグ入力を追加し、自動ブランチのサポートを無効にできるようにしました。
- MABL_DEBUG_ENABLEDを追加しました (デバッグ情報を表示するにはtrueに設定)。
- 自動ブランチと明示的ブランチを組み合わせた場合にコマンドの実行に失敗するバグを修正しました。
- 失敗時にゼロ終了コードが出力される可能性があるバグを修正しました。
- 自動ブランチのサポートを説明するために役立つログを追加しました。
- エラー処理の保護機能をさらに追加しました。
`v1.0.5 - 2021年7月19日
- イメージのデフォルトパスを変更するとコマンドが実行されないバグを修正しました。
`v1.0.4 - 2021年7月18日
- 依存関係の更新
- 最適化
- mabl-cliバージョンのアップグレード
v1.0.3 - 2020年8月25日
- 初公開
Updated 8 months ago