デプロイメントエベントを使用すると、アプリケーション、環境、プランのラベルなどの条件を指定して、それらを満たす有効なプランをすべて並列で実行できます。このタイプのテスト実行は、自動化されたエンドツーエンドテストをチームのCI/CD ワークフローに統合するのに最適です。利点は次のとおりです:
- フィードバックサイクルの高速化 - プランは並行して実行されるため、結果をより早く得られます
- 堅牢な検証 - プランは mabl クラウドで実行されるため、出力には詳細な実行アーティファクトが含まれます。
この記事では、mabl のデプロイメントエベントを設定、実行、レビューする方法を説明します。
デプロイメントエベント用のプランを設定する
デプロイメントエベントは、プランレベルでテストをトリガーします。デプロイメントエベントで実行するには、プランは次の条件を満たす必要があります。
- プランの構成は、デプロイメントイベントのアプリケーションおよび/または環境のパラメータに一致し、さらにプランのラベルが追加されている場合はそれも含みます。
- プランがアクティブである。
- このプランはデプロイトリガーを受け付けるように設定されています。デプロイトリガーは、トリガー セクションで、プラン設定 ページから設定できます。
- プラン内のテストのうち、少なくとも1つがオンになっています。
無効化されたプランとテスト
- デプロイメントエベントで実行中からプランを除外したい場合は、プランページでトグルをオフにして無効化できます。
- アクティブなプランで無効化されたテストは、デプロイメントエベントでは実行されません。
- プランが有効でも、プラン内のすべてのテストがオフになっている場合、プランは実行されません。
プランのラベルでテストスイートを定義する
少なくとも、デプロイメントエベントにはアプリケーションまたは環境の指定が必要です。たとえば、「dev」環境でデプロイメントエベントをトリガーすると、その環境に関連付けられているアクティブなプランがすべて実行されます。
プランのラベルを使うと、「回帰」「対象回帰」「スモーク」などの特定のテストスイートや、特定の機能・機能領域を定義できます。たとえば、「dev」環境向けに「スモーク」ラベル付きのデプロイメントエベントをトリガーすると、「スモーク」ラベルが付いたアクティブな「dev」プランだけが実行されます。
デプロイイベントのトリガー
デプロイメントエベントをトリガーする方法はいくつかあります。
mabl のデプロイメントエベントの基本的な概念とパラメータは、どの方法でも同じです。簡潔にするために、この記事では mabl アプリから手動でデプロイメントエベントをトリガーする方法を説明します。
指定する引数によっては、デプロイメントエベントは多くのプラン実行をトリガーし、あなたの割り当てクレジットのクオータにカウントされます。初めてデプロイメントエベントを試す際にクレジットの過剰消費を避けるため、実行したい特定のプラン、または複数のプランに「deployment-demo」というラベルを追加することをおすすめします。
- mabl のホームページで、右上の新規作成ボタンをクリックします。
- [デプロイメント] を選択して、[New deployment] ページを開きます。
- ドロップダウンから、環境またはアプリケーション、あるいは環境とアプリケーションの両方を選択します。
- 特定のプランを対象にするには、1つ以上のプランのラベルを選びます。たとえば、プランに「deployment-demo」のラベルを追加した場合は、デプロイメントエベントの設定に必ず含めてください。
- 必要に応じて、次の追加設定を構成できます。
- Trigger Deploy ボタンをクリックして、デプロイメントエベントを作成します。
アプリはデプロイメントエベントの出力ページにリダイレクトします。そこでステータスを監視し、結果を確認できます。
デプロイイベントのプレビュー
デプロイメントエベントでいくつのプランが実行されるか確信が持てない場合は、実際にデプロイメントエベントをトリガーする前に、次のステップに従って実行されるプラン数をプレビューできます。
- APIページ (
[ワークスペース] > [APIs]) に移動します。 - API ドキュメント セクションで、「デプロイメントエベントの作成」を選択します
- 対象の環境またはアプリケーションを選択します。
- 必要に応じて、プランラベル、URLオーバーライド、クレデンシャルなどのオプション設定を追加します。
- 生成されたcurlコマンドをコピーします。
- マシンでターミナルウィンドウを開きます。
- ターミナルにcurlコマンドを貼り付けます。
- URLを
https://api.mabl.com/events/deployment?preview=trueに置き換えます。 - Enterキーを押すと、プレビューが表示されます。
JSON レスポンスの「triggered_plan_run_summaries」セクションには、このデプロイメントエベントをトリガーした場合に実行されるプランが表示されます。次のレスポンスを確認してください。
{
"id":"RAV64K2nQJ0GslNVfmtPuQ-v",
"environment_id":"Ojc0fnJOoTBgSEZSHUCrhQ-e",
"workspace_id":"RS2yqNMP9nK9qobpJiZ74Q-w",
"received_time":1658414608812,
"triggered_plan_run_summaries":[
{"plan_id":"cLhFR8Fz0Kpsh70zP6EQ3Q-p"},
{"plan_id":"GASWQXKMiGBXOReVCms2HQ-p"},
{"plan_id":"AiqbHQaNT0O47lWAYDYWSA-p"},
{"plan_id":"oqE3sw3QxQhniftVBm7NXw-p"},
{"plan_id":"RBaecKUQHHAKkfXjTt1g3g-p"},
{"plan_id":"XH7ww6JQM8zy8bZGLB7Z1g-p"},
{"plan_id":"w3YwxgVepvEBjWnRkzl10g-p"}
]
}このレスポンス例には7個のプランIDがリストされています。これは、このデプロイイベントの結果として7個のプランが実行されることを意味します。
結果を確認する
ワークスペースからトリガーされたすべてのデプロイメントエベントは、デプロイメント結果ページで確認できます:テスト結果 > デプロイメント別。特定の実行の出力を表示するには、デプロイメントエベントの時刻をクリックしてください。
デプロイメントIDで結果を取得する
固有のデプロイメント ID(末尾が-vで終わります)を使用して、デプロイメントエベントの結果を取得することもできます。例:RAV64K2nQJ0GslNVfmtPuQ-v。
-
mabl CLI:
mabl deployments describe {deployment-id}を実行 - mabl API: デプロイ結果のサマリーを取得するエンドポイントを使用します。
詳細情報
デプロイイベントを理解することは、大規模なカバレッジを実現するための重要なステップとなります。さらに知識を深めるには、テストワークフローへのデプロイイベントの実装に関する以下のガイドを確認してください。