スナップショットを使用すると、特定のバージョンのテストとフローをmabl環境に固定できます。この記事では、スナップショットの管理方法について説明します。
スナップショットとは何ですか?
スナップショットの詳細、仕組み、使用する理由については、こちらの記事をご覧ください。
スナップショットを作成する
スナップショットは、mabl CLIのmabl deployments createコマンドで作成できます。このコマンドには、最低限次の2つのオプションを含める必要があります。
-
-eまたは--environment-id: スナップショットを作成したい環境のID -
--snapshot-from: 使用したいブランチの名前、例えば「master」や「test_branch_2」など
mabl deployments create -e [env-id] --snapshot-from [branch_name]
このコマンドを実行すると、mablでデプロイメントエベントが作成され、この環境内のすべてのアクティブなプランが実行されます。
環境のスナップショットを作成しつつ、関連するテストプランは実行しないようにするには、-lまたは--labelsオプションで存在しないラベルを追加します。次の例では、ワークスペースに「fake」というプランラベルが存在しないことを前提としています。
mabl deployments create -e [env-id] --snapshot-from master -l fake
デフォルトでは、その環境でのプラン実行は、スケジュール実行、手動実行、APIによる実行のいずれの場合もスナップショットのバージョンを使用します。ローカルのアドホック実行は、CLIで--from-plan-idフラグを使用して開始したテストも含めて、スナップショットを継承しません。
スナップショットを更新する
1つの環境で有効なスナップショットは、常に1つだけです。環境のスナップショットを更新するには、同じmabl deployments create -e [env-id] --snapshot-from [branch-name]コマンドを実行します。このコマンドは、古いスナップショットを、指定したブランチの新しいスナップショットに置き換えます。
スナップショットを更新すると、mablは--snapshot-fromで指定したブランチ上のすべてのテストとフローの現在のバージョンを取得します。スナップショット内の特定のテストだけを個別に更新する方法はありません。スナップショットを更新するには、対象のテストとフローをブランチ上で編集してから、mabl deployments create --snapshot-from [branch-name]コマンドを再度実行してください。
スナップショットされたテストとフローを確認する
スナップショットされたすべてのテストとフローを確認するには、テスト > ブランチに移動してください。スナップショットはブランチのリスト内に表示され、ステータス「スナップショット」で示されます。スナップショット名は[environment-id]-SNAPSHOTという形式で自動的に生成されます。例えば、IDがIACtAuJ0uMxM5FvwdFY5hg-eの環境では、IACtAuJ0uMxM5FvwdFY5hg-e-SNAPSHOTという名前のスナップショットが生成されます。
mablテストブランチとスナップショットの一覧
テストの詳細に移動し、変更履歴タブを確認することで、どのバージョンのテストがスナップショットされているかを特定することもできます。
スナップショット環境に固定されたバージョンでテストの変更履歴を確認する
スナップショットを削除する
スナップショットを削除するには、環境からスナップショットを切り離し、mabl UIからスナップショットを削除する必要があります。
スナップショットを環境から切り離す
mabl CLIで、--snapshot-fromオプションを付けずに、その環境のデプロイメントエベントを作成します。スナップショットを削除したい環境のIDを指定してください。
mabl deployments create -e [env-id]
デプロイメントエベントは、指定したパラメータに一致するすべてのアクティブなテストを実行することを忘れないでください。テストの実行を避けるには、存在しないラベルを指定して-lまたは--labelオプションを含めてください。
mabl deployments create -e [env-id] -l nonexistent-label
今後、mablはプランの実行において、特定のブランチを指定しない限り、テストのmasterブランチのバージョンを使用します。
mabl UIからスナップショットを削除する
mablアプリでテスト > ブランチに移動し、mabl UIからスナップショットを削除して、リストに表示されないようにします。
スナップショットを環境に再関連付けする
環境からスナップショットを誤って切り離してしまった場合は、次のコマンドを実行して環境を再びスナップショットに固定できます。
mabl environments update [env-id] --mabl-branch [snapshot-name]
環境のスナップショットステータスを確認する
環境がスナップショットを使用するように設定されているかどうかを確認するには、mabl CLIで次のコマンドを実行してください。
mabl environments describe [env-id]
mabl CLIは、環境に関するメタデータを返します。これには、スナップショットを使用するように設定されているかどうかが含まれます。
- メタデータに
use_source_control_tag: trueと表示されている場合、環境はスナップショットを使用するように設定されています。 - メタデータに
use_source_control_tag: falseと表示されている場合、またはuse_source_control_tagプロパティが存在しない場合、環境はスナップショットを使用するように設定されていません。