Exploring ReleaseOps
ServiceNow® ReleaseOps is a solution to problem of deploying changes, customizations, and custom apps on the ServiceNow AI Platform. By automating the deployment process, ReleaseOps helps to increase the predictability and reliability of deployments, while also reducing the risk of releasing unwanted changes to production.
ReleaseOps overview
ReleaseOps automates and enhances the process of deploying changes, customizations, and custom applications on the ServiceNow AI Platform. ReleaseOps improves the existing pipelines deployment process by internally managing cross-instance trust and credential sharing, simplifying the setup and configuration of custom pipelines. ReleaseOps enables you to deploy changes using update sets and trigger deployment from directly within the ServiceNow Studio development environment. In addition, ReleaseOps leverages the automation capabilities of the ServiceNow Playbooks, resulting in deployments that are less error-prone and manual.
ReleaseOps handles deployments through releases. Releases define which changes, customizations, or custom apps will be moved to the production (or target) instance and when the changes will be deployed. The changes within a release are contained in deployment requests. Each deployment request contains one or more update sets or application installs. For more information about releases and deployment requests, see Releases in ReleaseOps and Deployment requests in ReleaseOps.
Releases are managed from your production instance, where the playbook is executed. Actions are orchestrated across instance with a cross-instance communication layer, alleviating credential setup across instances.
ReleaseOps availability
ReleaseOps is not supported in regulated environments or on-premise. Check your entitlements to determine whether you have access to ReleaseOps.
ReleaseOps users
| Role | Description |
|---|---|
| Pipeline manager | A pipeline manager is responsible for creating and managing pipelines, including customizing playbooks. Pipelines define the flow of your deployments. |
| Release manager |
A release manager is responsible for creating and scheduling releases, as well as verifying that the contents of a release are both relevant and correct. The release manager can remove deployment request items that don’t meet the criteria for the release. |
| Developer | A developer is responsible for creating deployment requests to push application installations or update sets of work completed through the pipeline. |
| Tester | A tester is responsible for signing off on ATF test failures that occur to enable a deployment to continue. A tester can also send it back to development. |
ReleaseOps workflow
The following workflow illustrates the sample pipeline workflow installed with ReleaseOps. Your pipeline manager can customize it as needed.
In the traditional development to test to production workflow:
- The release manager creates a release, which is associated with a pipeline.
- Developers create and promote update sets, adding them to an existing deployment request or create a new deployment request, which is targeted to a release.
- Developers add runbook tasks to deployment requests to enable custom and manual activities to occur throughout the assessment and release playbook stages.
- When the update sets within a deployment request are functional and ready to be deployed, a developer sets the deployment request state to the Ready to assess.
- The assessment playbook runs, during which Automated Test Framework (ATF) test suites and instance scans are run on the changes in the deployment request.
- If there are failures during assessment, deployment tasks are created that the tester can sign off on or redirect to the developer to address.
- If there are any runbook tasks set to occur during the assessment playbook stage, progression pauses until the runbook tasks have been addressed.
- Once the deployment and runbook tasks have been addressed, the deployment request state is set to Ready for deployment.
- On the scheduled date for the release, the release playbook runs.
- If there are any runbook tasks set to occur during the release playbook stage, progression pauses until the runbook tasks have been addressed.
- Once the runbook tasks have been addressed, all deployment requests in the Ready for deployment state move through the pipeline to production.
In the traditional release workflow:
- A release manager creates a release and sets the state to Active.
- On the scheduled freeze date, the release begins preparing for deployment.
- During the preparation process, deployment requests that aren't ready are set to Deferred and can be attached to a future release.
- Once preparation is complete, the release state is set to Ready for deployment.
- When the release date arrives, the update sets within the deployment requests move from test to production in the order that they were deployed in the last instance.
- The release and deployment requests are set to Complete.
ReleaseOps benefits
| Benefit | Feature | Role |
|---|---|---|
| Define requirements for an application or update to get installed on a target instance. | Pipelines in ReleaseOps | Pipeline Manager |
| Deploy changes to a production or another target environment. | Releases in ReleaseOps | Release Manager |
| Push application installations or update sets of work completed through the pipeline with deployment requests. | Deployment requests in ReleaseOps | Developer |
| Scan deployment requests for changes to the current state of the production instance or target instance with the deployment analyzer. Use those findings to determine your actions in the pipeline. | Deployment analyzer in ReleaseOps | Developer |
| Leverage Automated Test Framework (ATF) code coverage to improve the efficacy of ATF test suites. | Deployment analyzer in ReleaseOps | Developer |
| Add custom, flexible, and manual activities to your assessment and release playbooks, without having to adjust the structure of your playbooks each time. | Runbook tasks in ReleaseOps | Developer |