パイプラインと展開 ワークフローバージョン 24.1.2
()AEMC でアプリ展開の要求を管理する場合は、このワークフローを使用して、2023 年 11 月にリリースされたバージョン 24.1.2 でApp Engine 管理センターアプリの展開がパイプラインをどのように移動するかを理解します。
このワークフローの場合:
- 要求者が App Engine Studio で [送信] を選択すると、メインフローがトリガーされます。
- システムは、バックグラウンドで次のタスクを実行します。
- ペイロードを検証します。
- ソースインスタンスの sys_app レコードからアプリマニフェストをフェッチします。
- コントローラーインスタンスで展開要求を作成します。
- コントローラーインスタンスからメールを送信して、要求が作成されたことを要求者に通知します。
- アプリケーションを アプリケーションリポジトリ に公開します。
- 公開中にエラーがあるかどうかに応じて、システムは異なるアクションを実行します。
- アプリの公開にエラーがあり、エラーの重大度が [エラー] の場合、システムは更新されたレコードを作成して承認を待機します。
- エラーがない場合、またはエラーはあるがエラーの重大度が [エラー]ではない場合、システムは [パイプライン (Pipeline)] レコードで次の環境を検索します。
- 次の環境がない場合、システムはコントローラーインスタンスからメールを送信して、要求がクローズされ、アプリがターゲットインスタンスに公開されたことを要求者に通知します。このアクションにより、ワークフローが終了します。
- 次の環境がある場合、システムは展開要求の [ターゲット環境 (Target environment)] フィールドを次の環境に更新します。次に、システムは更新されたレコードを作成し、承認を待ちます。
- 新しいレコードが承認されたかどうかに応じて、システムはさまざまなアクションを実行します。
- レコードが承認されなかった場合、システムはコントローラーインスタンスからメールを送信して、要求が承認されず、クローズされたことを要求者に通知します。このアクションにより、ワークフローが終了します。
- レコードが承認され、 [ターゲット環境 (Target environment)] が [テスト中 (Testing)] である場合、システムは次のアクションを実行します。
- アプリがテスト環境で利用できなければ、アプリをテスト環境に展開します。
- [スコープ対象アプリの定義 (Scoped App Definitions)] インスタンスのスキャンスイート、およびコントローラーインスタンスの [スキャンスイート] [scan_suites] テーブルの他のスイートを実行します。
- [アプリケーション展開テストスイート (Application Deployment Test Suite)] の Automated Test Framework (ATF) スイート、およびコントローラーインスタンスの [スキャンスイート] [scan_suites] テーブルの任意のスイートを実行します。
- インスタンススキャンと ATF のテスト結果を、展開要求の [展開環境の結果 (Deployment Environment Result)] テーブルと [アクティビティストリーム (Activity Stream)] に書き込みます。
- ワークフローをステップ 3 に戻して、エラーがないかをチェックします。
- レコードが承認され、 ターゲット環境 が 本番環境の場合、アプリは Change Management 統合を使用してスケジュールされた展開プロセスを開始します。
- App Engine 管理者が [Approve & Create Change Request] を選択する。Guided Setup で選択したテンプレートに基づいて変更要求が作成されます。
- アプリが構成アイテム (CI) として登録されているかどうかに応じて、システムはさまざまなアクションを実行します。
- アプリが CI として登録されていない場合、システムはアプリを CI として登録し、影響を受ける CI を変更要求に追加します。
- アプリが CI として登録されている場合、システムは影響を受ける CI を変更要求に追加します。
- 変更は、変更要求が [実装] ステータスにあるかどうかに応じて、さまざまなアクションを実行します。
- 変更要求のステータスが 実装でなく、ステータスが [アセスメント ] または [許可] でない場合、システムはコントローラインスタンスからメールを送信して、要求が承認されずにクローズされたことを要求者に通知します。これでワークフローは終了です。
- 変更要求のステータスが 実装でなく、ステータスが [評価 ] または [許可] の場合、システムはステータスが 実装になるまで待機します。
- 変更要求が [実装] ステータスの場合、システムによって変更タスクが作成され、アプリの展開がスケジュールされます。
- 変更要求のステータスが [実装 ] で、 開始予定日 が 現在 または過去の日付ではない場合、システムはこれら 2 つの条件が満たされるまで待機します
- 変更要求のステータスが [実装 ] で、[ 開始予定日 ] が [ 現在 ] または過去であるが、要求が [ 却下 ] または [キャンセル] である場合、システムはコントローラインスタンスからメールを送信して、要求が承認されずクローズされたことを要求者に通知します。これでワークフローは終了です。
- 変更要求のステータスが [実装 ] で、[開始 予定 日] が [ 現在 ] または過去の場合、システムは変更要求の [ 開始予定日 ] に基づいて本番環境へのアプリの展開をスケジュールします。変更タスクがクローズされてから、展開要求がクローズされます。これでワークフローは終了です。
- レコードが承認され、[ターゲット環境 (Target environment)] が[テスト中 (Testing)] でも [本番] でもない場合、ターゲット環境でアプリを利用できなければ、システムはアプリをターゲット環境に展開します。
要求者が App Engine Studio で [送信] を再度選択すると、ワークフローが再開されます。