Release Pipeline
Release Pipeline Introduction
Timing: 1 hr 40 mins
Core Focus: Utilizing DevOps practices, such as continuous integration and delivery, to transition application changes from development to production.
Objective: Upon completion, you should be able to:
Describe the DevOps release pipeline.
Discuss development process best practices.
Identify continuous integration and delivery tasks.
Articulate the importance of defining a test approach.
Develop deployment strategies for applications.
/
Release Management Approach
The release management approach varies according to:
Application release models.
Development methodologies.
Organizational culture.
Regulatory compliance can delay feature releases.
Automated testing and migration technologies lead to a more agile delivery model.
Financial Benefits: Organizations that release features more rapidly can surpass competitors.
DevOps:
A collaborative framework involving Development, Quality, and Operations teams.
Aims to deliver high-quality software efficiently.
Pega Platform DevOps Integration
Supports integration with third-party tools (e.g., Jenkins, Microsoft Azure DevOps).
An open platform facilitates:
Deployment pipelines via third-party automation tools.
Automated branch merging, packaging, deployment, test execution, and metric enforcement.
Competitive Advantage: Continuous delivery of new features enhances market standing.
Adoption: Transition to DevOps may require cultural shifts in some organizations.
Technical Lead Responsibilities
Assess current release management processes:
Identify the extent of automation in current practices.
Evaluate the efficiency of testing processes.
Design release management strategies based on these assessments.
Appoint a Release Manager to oversee and refine practices, manage rulesets, and ensure proper branch merging.
Setting Up a Release Pipeline
Manual methods are still prevalent in many organizations, impacting automation integration.
Developer activities may include:
Unit testing.
Transitioning to an automated pipeline incrementally.
Sharing changes among developers to identify and resolve conflicts.
User engagement includes testing new features and ensuring the functionality of existing features before deployment.
Continuous Integration, Delivery, and Deployment
Continuous Integration:
Frequent integration into a shared repository throughout each day.
Continuous Delivery:
Preparations to deliver whenever necessary, encouraging agile methodologies through Agile Studio.
Continuous Deployment:
Automation of deployment processes without manual intervention after a successful integration.
Modular Deployment Strategies
Dedicating rulesets to individual case types promotes reuse and integration.
Automates the organization of related branches in development environments.
Deployment Manager Functions
Automates deployment processes across merged branches.
Manage development environments via the App Explorer to facilitate transitions between various application versions and branches.
Best Practices in Team-Based Development
Foster collaboration in shared environments:
Create smaller, component-focused applications.
Use branches for multi-team contributions and peer code reviews.
Implement PegaUnit tests to validate rules and data representation.
Deployment Responsibilities of Lead System Architects (LSAs)
Security remains a primary focus during deployments, with recommendations including:
Completing the application security checklist.
Regular audits of security configurations.
Guardrail compliance is validated during deployment.
Rollback Processes
Enhance deployment reliability through:
Establishing restore points automatically post-deployment.
Application-level rollback options for granular restoration capabilities.
Limitations exist for SQL changes, including specifications for rule and data restoration.
Data Migration Pipelines
Data migration pipelines enable:
Automated export of simulation data from production to testing environments.
Migration of critical decision-making data such as customer details and interaction history.