Best practices for deployment pipelines
Promote applications to production or to the end user by validating the application as production ready. Validate your application against quality, performance, and functionality metrics in an automated deployment pipeline to rapidly deliver applications to market.
The default deployment pipeline model is prepopulated with stages and tasks that help enforce best practices for creating and deploying your pipelines.
The following figure shows the default deploy pipeline model:
With deployment pipelines, you can trigger a deployment at the following times:
- After every successful branch merge
- Manually after all branch merges are complete
- On a schedule
Note: While you cannot schedule a pipeline deployment in Deployment Manager, you can use a job schedule rule to specify deployment schedules.
- Trigger a deployment pipeline from an external orchestrator through Deployment Manager APIs.
However you trigger a deployment, the deployment pipeline should reinforce your quality gates to reduce the risk of the pipeline failing during the deploy phase and to help deliver high-quality solutions. For which tasks you can use during which pipeline stage, see the following table:
Tasks for a deployment pipeline
|Development (or package)||Validate development standards||This task validates that the application meets the guardrail
warnings that you specified a policy.|
By default, a default policy is available to all users. This default policy defines the high-value guardrail warnings that you must enforce to reduce the risk of performance and security issues when updating Pega Platform or Pega application updates.
The validation by default happens on the rules that you modified or created after the last deployment.
Select the Consider only recently modified rules checkbox in this task to enable smart validation.
To assist you to use this task, you can perform the following actions
|Development (or package)||Check application compliance||This task validates specific deployment best practices on an
application. This task ensures that no unintended changes were
applied to the application that could cause potential failures after
Use this task to perform the following tasks:
|Configure your application structure to maintain a pristine application in the production or target environment.|
|Quality Assurance||Enable test coverage||The system enables this task after deployment to ensure that test coverage captures the rules that the system ran during testing.|
|Check guardrail compliance||This task ensures that the guardrail weighted score meets a compliance score of at least 97%, which indicates a high-performing application, for the configured application.||Use the Application Guardrails landing page to help you build more guardrail-compliant applications.|
|Verify security checklist|
This task ensures the preparedness for a secure application deployment. Comply with the security checklist, to ensure that you create a guardrail-compliant application.
The Security Checklist identifies critical tasks, based on how you deploy your application and who the end users are.
The checklist describes when to perform a task: at or near the beginning of development, on an ongoing basis, or just before deployment. Deployment Manager enforces the completion of the checklist before deploying to a Staging or Production environment.
|To learn about the security checklist, see Security Checklist.|
|Run Pega unit tests|
This task validates your functionality and any regression impacts by running Pega unit tests.
The task can run Pega unit tests from a test application or the application specified on the access group that the system supplies to the task.
If you use a test suite ID in this task, the system runs the tests that are in the test suite. Otherwise, the system runs the Pega unit tests for the application.
This task returns an error if the pass percentage is less than 100%.
|Ensure that you create effective unit test plans and enable test coverage on your unit tests to configure a more effective task.|
|Validate test coverage|
Validates the test coverage metrics at the application level against a threshold of 70%. It also enforces a minimum of 70% test coverage on case type rules and date type properties.
The task stops the active test coverage session and displays an error when the test coverage session is unavailable.
Previous topic Best practices for merge pipelines Next topic Automating deployment pipelines using Open DevOps solutions