プレビューまたは一時的な環境は、CI / CDワークフローの重要な部分になっています。ソフトウェア開発者は通常、コードの変更を行い、このような一時的な環境にデプロイして開発をすすめます。これにより、開発チームは自動化されたエンドツーエンドテストと、手動テストを実行して、デプロイサイクルの早い段階ですべてが機能し、期待どおりに表示されることを確認できます。
プレビュー(一時的)環境を活用したCI/CDパイプライン例
mablを使用して、このようなプレビュー環境に対して、自動化されたブラウザーおよびAPIのリグレッションテストを簡単に実行する方法を見てみましょう。利用されているCI / CDワークフローの中で短期間しか存在しないプレビュー環境に対して、テストを実行させる方法は2つあります。
複数のデプロイメント環境を1つの環境に持たせる方法
最も一般的な方法は、手動でプレビュー環境をひとつ作成し、その環境にプレビュー環境を設定します。そして、デプロイメントイベントを作成する際に、利用可能なオプションを活用して、ベースとなるテスト対象URLを単純に上書きする方法です。この方法の詳細については、デプロイメント時にテストを実行するを参照してください。
この方法では、デプロイメントイベントごとに同じ環境変数を利用できることが前提になります(つまり、プレビュー環境のURLは固定)。mablLinkを利用していない場合はこの方法が使えるしょう。
環境の設定画面例。プレビュー環境に複数URLを設定して環境変数などで切り替える方法があります。
プライベートプレビュー環境を使用しているお客様であれば、すべての内部プレビュー環境にネットワークアクセスできる仮想マシンに、mabl LinkAgentをセットアップする必要があります。そうすれば、新しいLinkAgentをインストールして、展開ごとに安全なトンネルを確立するために最大5分待つ必要がなくなります。
Resutページに移動し、「BY DEPLOYMENT」タブをクリックしてデプロイごとのテスト結果を確認できます。それぞれのデプロイメントをクリックすると、コードブランチや、テスト実行をトリガーした最後のコードコミットのハッシュなど、CIツールから渡されるさまざまなメタタデータを含むテスト実行の詳細を確認できます。
デプロイメントイベント結果の確認画面。
プレビュー展開ごとに個別のmabl環境
プレビュー環境ごとに個別のセキュアトンネルを確立する必要がある場合、または単にデプロイメントごとに環境変数をオーバーライドする必要がある場合は、セキュアトンネリング用に関連付けられたリンクエージェントを使用して個別のプレビュー環境を作成します。そして、不要になったときに、それらの環境をmablから削除することをお勧めします。mabl CLIを使用すれば、CIツールのデプロイ手順の一部として、作成や削除をインストルメント化および自動化できます。
最初に、プレビュー環境の提供の一環として、リンクエージェントとmablCLIをインストールするようにCIデプロイメントツールを構成する必要があります。安全な接続を確立するには、LinkAgentタイプのAPIキーを生成する必要があります。次に、CLIを認証するために、タイプmablCLIの個別のAPIキーを生成する必要があります。APIキーの詳細については、APIキーの管理を参照してください。
次に、mabl CLIを使用して、それぞれのURL、リンクエージェント名、および変数を構成した、対応するプレビュー環境をmablに作成します。
mabl auth activate-key <cli-api-key>
mabl environments create --name <environment_name> --application-id <app_id> --app-url <web_url> --workspace-id <mabl_workspace_id> --link <agent_name> --variables <var1:value1, var2:value2> --preview true
次のCLIコマンドを実行して、mablアプリケーションとワークスペースのIDを取得します。
mabl applications list
mabl workspaces list
Link Agentコマンドオプション(--link <agent_name>
)には、前の手順でエージェントをインストールしたときに使用したのと同じ名前を使用する必要があります。これにより、エージェントが新しく作成された環境に自動的に関連付けられます。
以下は、特定のアプリケーションに対して E0 --preview-0a939aa という名前のプレビュー環境を作成するCLIコマンドの例です。
プレビュー環境をCLIを通して作成する。
--preview true
フラグを使用してCLIを介して環境を作成すると、 これが短期間の環境であることをシステムに示しますが、現時点では、これはUI上から確認できません。ただし、将来的にはこの環境フラグを表示して、mabl環境をより適切に視覚化する可能性があるため、必要に応じて使用することをお勧めします。
Configurationページに移動すると、新しく作成されたプレビュー環境を確認できます。
アプリケーションと環境の一覧。
環境名の横にある鉛筆アイコンをクリックすると、E0 --preview-0a939aa 環境がリンクエージェントと渡された環境変数で適切に構成されていることも確認できます。
環境の詳細画面。
新しく作成したプレビュー環境を他のアプリケーションURLに関連付けたい場合は、必要な数のアプリケーションに対して次のCLIコマンドを実行できます。
mabl environments urls add <environment_id> --application-id <app_id> --app-url <web_url> --api-url <api_url>
プレビュー環境を作成したら、デプロイメント時にmablのテストを実行するようにCIツールを構成できます。その方法については、デプロイメントでのテストの実行を参照してください。
最後のステップは、CIツールでプレビュー環境を閉じるときに、mablから環境のクリーンアップを実行。ここでは、環境とリンクエージェントの両方をmablから削除して、ワークスペースをクリーンに保ち、新しいプレビュー環境用にトンネリングインフラストラクチャリソースを解放することが重要です。
以下に説明するように、CIツールでプレビュー環境とリンクエージェントをmablから必ずクリーンアップしてください。
リソースを削除するには、次のCLIコマンドを実行できます。
mabl environments delete <environment_id>
mabl link-agents delete <link_agent_name>
コマンドを実行して環境を作成すると、この削除手順で渡すCI変数に格納できる環境IDが返されます。環境を削除すると、関連するURLと変数も削除されます。リンクエージェント名には、元の作成プロセス中にその環境に関連付けられたものと同じエージェント名を使用してください。