As you manage requests for app deployment in App Engine Management Center (AEMC), use this workflow to understand how app deployments move through your pipelines in version 24.0.2, released in August 2023.

Figure 1. Pipelines and Deployments workflow
Infographic depicting a standard Pipelines and Deployments workflow. For a text description, refer to the workflow steps that follow.
In this workflow:
  1. The requester selects Submit in App Engine Studio, which triggers the main flow.
  2. The system performs the following tasks behind the scenes:
    1. Validates the payload.
    2. Fetches the App Manifest from the sys_app record on the source instance.
    3. Creates a deployment request on the controller instance.
    4. Sends an email from the controller instance to notify the requester that the request was created.
    5. Publishes the application to the Application Repository.
  3. The system performs different actions depending on if there are errors or not during publication.
    1. If there are errors in the app publication, and the error severity is Error, then the system creates and waits for approval for the updated record.
    2. If there are no errors, or if there are errors, but the error severity isn’t Error, then the system looks up the next environment on the Pipeline record.
      1. If the next environment doesn’t exist, the system sends an email from the Controller instance to notify the requester that the request was closed and the app has been published to the target instance. This action ends the workflow.
      2. If the next environment does exist, the system updates the Target environment field on the deployment request to the next environment. Then, the system creates and waits for approval for the updated record.
  4. The system performs different actions depending on if the new record was approved.
    1. If the record isn’t approved, the system sends an email from the Controller instance to notify the requester that the request wasn’t approved and the request has been closed. This action ends the workflow.
    2. If the record is approved, and if the Target environment is Testing, then the system performs the following actions:
      1. Deploys app to test environment, if the app is not available there.
      2. Runs the Scoped App Definitions Instance Scan and any other suites on the Scan Suites [[scan_suites]] table on the Testing instance.
        Note: The Scan Suites table should be populated on the Controller instance.
      3. Runs the Application Deployment Test Suite Automated Test Framework (ATF) suite and any suites on the Scan Suites [scan_suites] table on the Testing instance.
      4. Writes Instance Scan and ATF test results to the Deployment Environment Result table and to the Activity Stream on the deployment request.
      5. Returns the workflow to step 3, where it checks for errors.
    3. If the record is approved, and the Target environment is Production, the app begins the scheduled deployment process.
      1. The App Engine Admin selects whether to deploy the app now or deploy at a later date and time.
      2. The system prepares the scheduled deployment record for deployment by updating the state and date/time.
      3. The scheduled job processes any prepared scheduled deployments.
      4. The system deploys the app to production, if the app isn't available there.
      5. The system returns the workflow to step 3, where it checks for errors.
    4. If the record is approved, and the Target environment isn’t Testing or Production, the system deploys the app to the target environment, if it isn't available there.

      The workflow starts over when a requester selects Submit again in App Engine Studio.