DevOps is a set of 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 quickly respond to customer needs, develop a quicker feedback cycle, and ultimately achieve business value faster.
DevOps encourages a culture of collaboration between development, quality, and operations teams to reduce or eliminate barriers through fundamental practices such as continuous integration, continuous delivery, and continuous deployment. Adopting these practices and the tools to support them creates a standardized deployment process so that you can deploy predictable, high-quality releases.
Pega Platform provides the tools necessary to support continuous integration, delivery, and deployment through Deployment Manager, which provides a low-code, model-driven experience to configure and run continuous integration and delivery (CI/CD) workflows or deployment pipelines for your application. Deployment Manager provides out-of-the-box tools to enforce best CI/CD practices for your application. You can fully automate deployment pipelines, starting with automated integration of developer changes through branch merging and validation, application packaging, artifact repository management, deployments, test execution, guardrail compliance, and test coverage enforcement.
Pega Platform also 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 using third-party tools to automate branch merging, application packaging and deployment, test execution, and quality metric enforcement.
For more information about configuring DevOps workflows, see the following topics:
- Understanding best practices for DevOps-based development workflows
In a DevOps workflow, the most important best practice for application developers to adopt is continuous integration. Continuous integration is the process by which development changes to an application are integrated as frequently as possible, at least once a day and preferably multiple times a day, every time developers complete a meaningful unit of work.
- Understanding the DevOps release pipeline
Use DevOps practices such as continuous integration and continuous delivery to quickly move application changes from development through testing to deployment on your production system. Use Pega Platform tools and common third-party tools to implement DevOps.
- Understanding best practices for version control in the DevOps pipeline
Change the application version number each time you deploy changes to a production system. As a best practice, use semantic versioning, because it offers a logical set of rules about when to increase each version number.
- Understanding continuous integration and delivery pipelines
DevOps is a culture of collaboration by development, quality, and operations teams to address issues in their respective areas. To sustain progress and bring continued improvement, tools and processes are put in place. Use DevOps practices such as continuous integration and delivery (CI/CD) pipelines to break down code into pieces and automate testing tasks, so that multiple teams can work on the same features and achieve faster deployment to production.
- Installing and enabling for Sonatype Nexus Repository component for Sonatype Nexus Repository Manager 3
To create a connection between Pega Platform or Deployment Manager and Nexus Repository Manager 3, use the Sonatype Nexus Repository component. Use this repository for centralized storage, versioning, and metadata support for your application artifacts.
- Installing and enabling Sonatype Nexus Repository component for Sonatype Nexus Repository Manager 2
Create a connection between Pega Platform or Deployment Manager and Sonatype Nexus Repository Manager 2 with the Sonatype Nexus Repository component. Use this repository for centralized storage, versioning, and metadata support for your application artifacts.
- Automatically deploying applications with prpcUtils and Jenkins
You can use Jenkins to automate exporting and importing Pega Platform applications. Download the prpcServiceUtils command-line tool and configure Jenkins to export or import archives. You can use a single Jenkins build job to both export and import an application archive, or you can create separate jobs for each task.
- Migrating application changes
With minimal disruption, you can safely migrate your application changes throughout the application development life cycle, from development to deployment on your staging and production environments. In the event of any issues, you can roll back the deployment and restore your system to a state that was previously known to be working.
- Deploying application changes to your staging or production environment
As part of the Standard Release process, after you set up and package a release on your shared development environment, you can deploy your application changes to your staging or production environment.
- Packaging a release on your development environment
As part of the Standard Release process for migrating your application changes from development to production, you set up and package the release on your shared development environment.
- Understanding application release changes, types, and processes
The following tables provide information about the types of changes that you can make within a release, the release types, and the release management process to follow based on the types of changes that you want to deploy.
- Testing applications in the DevOps pipeline
Having an effective automation test suite for your application in your continuous delivery DevOps pipeline ensures that the features and changes that you deliver to your customers are of high-quality and do not introduce regressions.
- Understanding model-driven DevOps with Deployment Manager
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 so that you can deploy predictable, high-quality releases without using third-party tools.
- Understanding distributed development for an application
When you use continuous integration and delivery (CI/CD) workflows, you set up the systems in your environment based on your workflow requirements. For example, if only one team is developing an application, you can use a single system for application development and branch merging.
- Understanding continuous integration and delivery pipelines with third party automation servers
Use DevOps practices such as continuous integration and continuous delivery to quickly move application changes from development, through testing, and to deployment. Use Pega Platform tools and common third-party tools to implement DevOps.
Next topic Understanding best practices for DevOps-based development workflows