Release management with Pega
Organizations recognize the financial benefit of releasing application features to end users and customers faster than their competitors. By continuously delivering new application features to end users, organizations can gain a competitive advantage in the market. Many have adopted a DevOps approach to streamline their software delivery life cycle.
As a Pega Business Architect, a high level understanding of the the Pega DevOps methodology and CI/CD pipeline will help you understand Sprint planning and prioritization throughout the development, testing and delivery of the project.
DevOps is a collaborative effort between development, quality, and operations staff to deliver high-quality software to end users in an automated, agile way. It is a set of industry practices that bridge application development and operational behavior to reduce time to market without compromising on quality and operational effectiveness. It allows application developers and business owners to respond to customer needs quickly, develop a quicker feedback cycle, and ultimately achieve business value faster.
DevOps methodology drives innovation and operates on three components: people, process, and technology.
In the following image, click the + icons to learn more about the three components that make up DevOps:
Check your knowledge with the following interaction:
Continuous integration and delivery
A continuous integration and continuous delivery (CI/CD) pipeline is an automated process to quickly move applications from development through testing to deployment on your production system.
In the following image, click the + icons to learn how a continuous loop presents the development team with feedback on testing results at each stage in the pipeline:
With continuous integration, application developers frequently check in changes to the source environment and use an automated build process to verify these changes automatically. Continuous integration identifies issues and pinpoints them early in the cycle.
In a "ready to share" step, testing runs to ensure the newly introduced changes work well with the existing application. A "integrate changes" step ensures all the necessary critical tests run before the new changes are published to a development repository to keep it up-to-date.
With continuous delivery, application changes run through rigorous automated regression testing. The changes are deployed to a staging environment for further testing to ensure that the application is ready to deploy on the production system.
In a "ready to accept" step, testing runs to ensure that the application meets the acceptance criteria. A "ready to deploy" step verifies all the necessary performance, scale, and compatibility tests that are necessary to ensure that the application is ready for deployment. The deploy step validates in a preproduction environment, deploys to production, and runs post-deployment tests with the potential to roll back as needed.
Note: For more information about the deployment process, see Deployment manager for DevOps.
The Pega CI/CD pipeline
Use Pega Platform™ tools and common third-party tools to implement DevOps. You can set up a continuous integration and delivery (CI/CD) pipeline that uses a Pega repository to store and test software and a third-party automation server such as Jenkins that starts jobs and performs operations on your software.
Note: For more information on repositories, see Creating a repository and Using repository APIs in your application.
Different questions are asked during every stage of the pipeline. These questions fall into two categories: developer-centric questions and customer-centric questions.
In the following image, click the + icons to see the pipeline questions:
The Pega Platform approach to DevOps is open to other solutions. You can begin your DevOps journey by using the Deployment Manager and integrate third-party tools at a later time.
For those looking to get started quickly, Pega Platform offers a pipeline manager tool, Deployment Manager, a standard way to test and deploy Pega applications. It exposes all capabilities of the Pega platform necessary to automate your DevOps workflows.
Use Deployment Manager to configure and run continuous integration and delivery (CI/CD) workflows for your Pega applications from within Pega Platform. You can create a standardized deployment process to deploy predictable, high-quality releases without using third-party tools. With Deployment Manager, you can fully automate your CI/CD workflows, including branch merging, application packaging, and promoting your application to different environments.
Note: For more information, see Deployment Manager.
Deployment Manager access
You can access Deployment Manager in Admin Studio so that you can focus on designing, configuring, and managing pipelines for applications.
The following figure shows the Deployment Manager dashboard, which provides quick access to all your pipelines and displays multiple applications in various stages of development:
Configuration of Deployment Manager in App Studio
You must properly configure and integrate Deployment Manager with App Studio before you can publish changes. These integration steps enable communication between the candidate environments and the orchestrator for the seamless publishing of deployment pipelines.
Note: For more information about enabling Deployment Manager integration on the App Studio environment, see Understanding App Studio for publishing.
By using the Deployment Manager, you can set up each of your applications with a pipeline. In this pipeline, you move your application through different environments. When you integrate Deployment Manager into the App Studio environment, the system exposes the pipeline for a specific application through App Studio (Settings > Versions). Applications designers can publish their changes to higher environments, which eliminates the need for system administrators to promote or configure applications manually.
If you have an existing DevOps practice, you can integrate DevOps with third-party tools. Pega Platform includes support for open DevOps integration using popular third-party tools such as Jenkins and Microsoft Azure DevOps by providing an open platform with all the necessary hooks and services. With open DevOps integration, you can build a deployment pipeline by using third-party tools to automate branching.
Check your knowledge with the following interaction: