Deployment Manager pipeline stages
A stage in a Deployment Manager pipeline represents the sequence of tasks that execute in an associated environment. The pipeline templates in Deployment Manager define the default number of stages and the recommended tasks for each stage.
A stage in pipeline model
When a pipeline is created from a pipeline template, the stages are pre-defined and a user must associate an environment with a stage. A stage can be added, edited, and deleted on an existing pipeline through Edit pipeline action.
A stage is defined with the following category of attributes:
- Stage name: Defines the purpose of a stage.
- Environment: Details specified through a URL and Authentication profile define the environment representing the stage.
- Environment template: Defines the set of sequential tasks that must run on the specified environment.
- Stage progression behavior: Defines if the process should move automatically to the next stage when all tasks on the current stage complete.
A stage on a pipeline requires the stage details to execute the process. On configuring a pipeline in the Deployment Manager, users must complete the following configuration to save a pipeline successfully,
- Name: Enter a name that uniquely identifies the stage in the Deployment pipeline model.
- URL: Enter the URL for the environment (a Pega Platform instance) that is associated with the stage.
- Authentication profile: Provide an authentication profile to communicate with the URL of the specified environment.
- Environment template: Select the type of environment. The environment template prescribes a set of recommended tasks.
- Automatic or Wait for user action: The default selection is Automatic, which indicates that the process on successful completion of this stage will move to the next stage. If the user selects "Wait for user action", all the deployments triggered on the pipeline will wait for the user to promote them to the next stage.
The following actions are available on a stage:
- Add stage: To add additional stages, click the Stage option on the Pipeline model screen (in the Edit pipeline mode).
Delete Stage: To delete a stage, click the More icon and then select Delete Stage.
- Shuffle stages: To change the sequence of stages, drag and drop the stage to the intended position. This action is unavailable for the first stage (the Shuffle option for the first stage is restricted since the first stage for all pipeline templates is fixed).
Addition of tasks to a stage
A stage loads the recommended tasks based on the selected environment template.
Deployment Manager has a range of supported tasks to add additional capabilities to a stage.
For example, to add an automated test suite to the Production stage, click Task, and then select a task from the list of tasks. After adding the task, enter the required task inputs and save the deployment pipeline for the changes to take effect.
For example, to add the Refresh application quality task in the Quality Assurance stage of a deployment pipeline:
- On the Pipeline model tab, in the Edit pipeline mode, click Task to view the list of available tasks.
- Click task to view the task description.
- Click to add the task to the stage.
Achieve greater flexibility over your deployment pipeline workflow through multiple deployments that queue in the same stage of a deployment pipeline. With this functionality, developers can regularly merge their changes for selective testing and promotion of deployments without blocking the deployment pipeline. This approach introduces the concept of a transition between stages that require user input to proceed.
For more information, see Using multispeed deployments.
Deployment Manager supports various tasks to assist different application deployment scenarios for applications that Pega Platform™ powers. The environment templates offer all the required tasks that are relevant to an environment.
When the environment template on a stage is configured to a setting other than custom, recommended tasks are populated for the environment template. A list of available tasks for the stage provides all the tasks that users can add as needed. When the environment template for a stage is custom, no recommendation or restriction applies to the stage. Users can choose any task from the tasks available in the system.
Branch and merge
The following tasks are available to merge a branch to the target application and to receive early feedback:
- : Merges the changes residing in the branch identified by the branch ID (input parameter) to the system of record (SOR) where the development changes are committed.
- : Executes PegaUnit tests for the deployment pipeline of the application. This task returns an error if the pass percentage is less than 100%.
- : Exports the branch artifact from the repository and deploys the branch into the current stage environment.
- : Ensures that the review on the specified branch is closed.
Package and deploy
The following tasks are available to help you package and deploy an application:
- : Exports artifacts that are defined in the product rule and publishes the artifacts to the development repository.
- : Exports artifacts from the repository and deploys the application in the environment of the current stage.
- : Promotes the application artifacts to the production repository.
- p: Pauses the deployment and assigns a manual task to the user or adds an approval requirement from a stakeholder for critical action.
- : Triggers a deployment of the specified deployment pipeline of the application.
The following tasks are available to validate the application that you are migrating:
- : This task returns an error if the guardrail compliance for the application is less than the compliance score. As a best practice, use a compliance score of 97 for high-performing applications.
- This task returns an error if the guardrail compliance for the branch associated with the deployment is less than the compliance score. As a best practice, use a compliance score of 97 for high-performing applications.
- t: This task prepares the application for a secure deployment.
- : This task stops the test coverage session at the application level and updates the quality metrics for the application. The task gives an error if the test coverage percentage is less than the defined test coverage percentage or if the test coverage session is not in progress for this application.
- Restart Test Coverage if the test coverage session is already in progress for the application. Clicking this option stops the active coverage session on the candidate application and starts a new session. : This task starts an application-level test coverage session that captures the rules covered and uncovered while the test gates are running. The task provides an intermediate input option named
The following tasks are available to integrate automated tests into the deployment pipeline:
- : This task executes the PegaUnit tests for the deployment pipeline application or the application given by the access group. If the test suite ID is configured, tests in that test suite are executed. Else, all PegaUnit tests for the application are executed. This task returns an error if the pass rate is less than 100%.
- : This task regenerates the application quality metrics.
- ): This task runs the application Pega scenario tests on the Sauce Labs testing tool. If the test suite ID is configured, tests in that test suite are executed. Else, all scenario tests for the application are executed. This task fails if the test pass rate is less than 100%.
- : This task runs Pega scenario tests in a standalone-selenium provider. If the test suite ID is configured, tests in that test suite are executed. Else, all scenario tests for the application are executed. This task fails if the test pass rate is less than 100%.
- : This task runs Pega scenario tests on a Cross-Browser Testing (CBT) tool. If the test suite ID is configured, tests in that test suite are executed. Else, all scenario tests for the application are executed. This task fails if the test pass rate is less than 100%.
- : This task runs the Pega scenario tests in the Browser Stack. If the test suite ID is configured, tests in that test suite are executed. Else, this executes all scenario tests for the application. This task fails if the test pass rate is less than 100%.
The following task is available to integrate an external environment into the deployment pipeline:
: This task is executed on a Jenkins environment. Ensure that the task is configured correctly on the Jenkins environment.
Check your knowledge with the following interaction.