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