Managing app deployments using Pipelines and Deployments

  • Release version: Xanadu
  • Updated August 1, 2024
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Managing app deployments using Pipelines and Deployments

    This guide explains how ServiceNow customers can effectively manage application deployments created with App Engine Studio (AES) using the Pipelines and Deployments app. It covers the full lifecycle from submission of deployment requests through testing to final publishing in production environments, enabling confident and controlled app distribution.

    Show full answer Show less

    Deployment Requests and Review Process

    • When a developer submits an app via AES, a deployment request is generated to track its review.
    • Reviewers use the App Engine Management Center (AEMC) to approve, reject, or publish apps.
    • If integrated with Change Management, you can create and manage change requests directly from the deployment request to deploy apps within change windows.
    • Customers can view and edit deployment details, scheduled deployments, and related change requests depending on their roles.
    • The Activity stream provides real-time updates on test results and deployment progress.

    Testing Applications

    • Before publishing, apps must be tested in a non-production environment to ensure they meet production viability standards.
    • Approving a deployment request triggers pipeline logic to move the app into a Testing state.
    • ServiceNow Automated Test Framework (ATF) tests run automatically if enabled, validating the app’s quality and functionality.
    • If tests fail, the deployment request should be rejected to prevent faulty apps from moving forward.

    Deploying to Test Environments

    • Deploying an app to a test environment automatically runs two key jobs:
      • Application Deployment Test Suite: Executes ATF tests, logging results for review.
      • Scoped App Definitions Instance Scan: Performs health and best practice checks on app tables extending the Task table.
    • These automated scans help diagnose issues early and improve app quality before production deployment.
    • Results of these scans and tests are accessible through tabs in the deployment request record, showing success/failure counts and detailed JSON logs for troubleshooting.

    Publishing Applications

    Once an app passes all testing successfully, reviewers can deploy it to the production environment via the deployment request. This makes the app available organization-wide, ensuring that only validated applications reach end users.

    Practical Benefits for ServiceNow Customers

    • Streamlined app deployment process with clear stages for submission, testing, and publishing.
    • Integration with Change Management enables controlled production releases within approved change windows.
    • Automated testing and instance scans reduce risks by identifying issues early in test environments.
    • Role-based access to deployment and change request details enhances governance and accountability.
    • Supports deployment across unlimited instances for development, testing, staging, and production.

    Review the applications developers build using App Engine Studio (AES) so you can deploy with confidence.

    Deployment requests

    After a developer submits an application in App Engine Studio, a deployment request is created. A deployment request is a record to track the review of submitted applications.

    A reviewer can deploy the app to your test environment, reject it, or publish it, all using the App Engine Management Center. If you integrate an existing Change Management program with AEMC, and your app is ready to deploy to production, you can create a change request and deploy the app within a specified change window.

    Figure 1. Deployment request
    Deployment request in App Engine Management Center
    1. View details of the deployment request and the application being deployed.
    2. Select Approve & Create Change Request when the app is ready for deployment. This action begins the Change Management processes you configure using Guided Setup.
      Note:
      If you don't have an existing Change Management program integrated with Pipelines and Deployments, select Approve & Deploy App to move the deployment to the next stage.
    3. View and edit details of the deployment on the Scheduled Deployments tab.
    4. View details of the change request on the Change Request tab. Depending on the role you have, you may be able to change some details of the request.
    5. Watch the Activity stream for test results, change request progress, and other deployment details.
    Note:
    If you submit deployment requests without upgrading all instances in the pipeline, your existing pipeline continues to be used.

    For more information on reviewing a deployment request, see Deployment Request form in the Pipelines and Deployments app.

    Testing an application

    Before you publish a submitted application, test it in a non-production instance. To begin testing, an admin must open the deployment request and select Approve. The pipeline record is read and determines the next state for the request.

    The goal of testing the application is to ensure the viability of the production instance. When the app has transitioned to the Testing state, ServiceNow Automated Test Framework tests run if you have enabled the appropriate properties.

    If the application doesn't pass testing, then you reject the deployment request.

    Deploying to a test environment

    When you deploy or install an application to a test environment, two jobs are automatically executed:
    • Application Deployment Test Suite
    • Scoped App Definitions instance scan

    These tests can be useful to the administrator for diagnosing issues before an app is deployed. For more information about what goes on during an application deployment, see Pipelines and Deployments workflow version 24.1.2.

    Table 1. Jobs automatically run during deployment
    Job Description
    Application Deployment Test Suite A set of Automated Test Framework (ATF) tests. The suite consists of a single test called Log. When the test is run, scan results are logged to the Test Results [sys_atf_test_result] table.
    Note:
    The following two system properties must be enabled to run the Application Deployment Test Suite:
    • sn_atf.runner.enabled
    • sn_atf.schedule.enabled
    If they aren't enabled, only the instance scan runs. For more information, see Enable Automated Test Framework (ATF) properties.
    Scoped App Definitions instance scan Instance scans aid in diagnosing health issues on a non-production instance, and are useful for addressing best practices. For more information, see Instance Scan.

    The instance scan checks all tables in the app that extend Task [task].

    The admin can view the results of the scans for troubleshooting purposes by selecting the Deployment Environment Results tab in the deployment request.

    Simply open the record of the instance. The results are split into three tabs:
    • ATF Results
      • Test suite name
      • Test URL
      • Success and failure counts
      • Overall error count
    • Instance Scan Results
      • Scan suite name
      • Scan URL
      • Finding count for the scan
    • Results (JSON) includes unformatted JSON code of the ATF and instance scan results, as well as any errors identified during the scans. This JSON can also be found in the Notes related list.

    Publishing an application

    If an application passes testing, open the deployment request and deploy the application to your production environment. It is then available to all employees in your organization. For more information, see Managing deployments using pipelines in AEMC.

    Guides for more information

    If you need more information, you can try these external guides sponsored by ServiceNow.
    Learn more about Pipelines and Deployments Additional ServiceNow resources
    The Pipelines and Deployments app is used to deploy the apps you are creating using App Engine Studio between instances in a pre-defined order.

    Unlike previous versions, Pipelines and Deployments allows you to deploy your apps to an unlimited number of instances for app creation, testing, staging, and production.

    Promoting apps through the AES pipeline

    Create apps fast with App Engine Studio