プレビューまたは一時的な環境は、CI / CDワークフローの重要な部分になっています。ソフトウェア開発者は通常、コードの変更を行い、このような一時的な環境にデプロイして開発をすすめます。これにより、開発チームは自動化されたエンドツーエンドテストと、手動テストを実行して、デプロイサイクルの早い段階ですべてが機能し、期待どおりに表示されることを確認できます。
プレビュー(一時的)環境を活用したCI/CDパイプライン例
CI/CDワークフローに応じて、短期間しか存在しないプレビュー環境に対してテストを実行するためにmabl環境を設定する方法は2つあります。
開始する前に
この記事では、稼働中のCI/CDパイプラインを持ち、mabl CLIを使用してデプロイメントエベントをトリガーすることに慣れていることを前提としています。
1つのmabl環境でURLオーバーライドを使用
最も一般的なアプローチは、mablで単一のプレビュー環境を作成し、動的なURLオーバーライドを使用してプレビュー環境に対してテストを実行することです。例えば、mabl CLIを使用してデプロイメントエベントを作成し、--app-url
オプションを含めて環境の基本URLをプレビューURLでオーバーライドします。
mabl deployments create -e {preview-environment-id} --app-url {url-override}
URLオーバーライドのアプローチは、各mablデプロイメントエベントに同じ環境変数を使用し、各デプロイメントごとにmabl Linkで別の安全なトンネルを設定する必要がないことを前提としています。
プライベートプレビュー環境を持つほとんどの顧客は、すべての内部プレビュー環境にネットワークアクセスできる仮想マシンにmabl Link Agentをセットアップします。これにより、各デプロイメントごとに新しいLink Agentをインストールして、安全なトンネルを確立するために最大5分待つ必要がなくなります。
プレビュー展開ごとに個別のmabl環境
各プレビュー環境が個別の安全なLinkトンネルまたは異なる環境変数を必要とする場合、必要に応じて各環境をプロビジョニングし、作業が完了したらmablからそれらの環境を削除することで、個別のmabl環境を作成できます。
このワークフローを実装する前に、ワークスペースの所有者が2つのmabl APIキーを生成する必要があります。
- "Link Agent" APIキー - Link Agentを起動するため
- "コマンドラインインターフェース" APIキー - mabl CLIを認証するため
Link Agentを起動し、mabl CLIをインストールして、CI/CDツールで使用します。その後、mabl CLIを使用してプレビュー環境を作成し、アプリケーション、URL、Link Agent名、および変数と関連付けます。
mabl auth activate-key {cli-api-key} mabl environments create --name {environment_name} --workspace-id {mabl_workspace_id} \ --application-id {app_id} --app-url {web_url} \ --link {agent_name} --variables {var1:value1, var2:value2}
環境を作成すると、mabl CLIは環境IDを返します。このIDを変数に保存して、後のステップで使用できるようにしてください。
プレビュー環境を作成した後、CI/CDツールを設定して、mablテストをデプロイメントエベントとして実行できます。mabl CLIでのデプロイメントエベントのトリガーに関する記事で、オプションの全リストをご覧ください。
mabl deployments create -e {environment_id}
新しく作成したプレビュー環境を複数のアプリケーションURLに関連付ける必要がある場合は、必要に応じて次のCLIコマンドを実行してください。
mabl environments urls add {environment_id} --application-id {app_id} \ --app-url {web_url} --api-url {api_url}
最後のステップはプレビュー環境を解体することです。ワークスペースをクリーンに保ち、新しいプレビュー環境用のトンネリングインフラストラクチャリソースを解放するために、環境とLink Agentの両方を削除してください。
mabl environments delete {environment_id} mabl link-agents delete {agent_name}
環境を削除すると、その環境に関連付けられたすべてのURLと変数も削除されます。