Using Deployment Manager 3.2.x
Use Deployment Manager to create continuous integration and delivery (CI/CD) pipelines, which automate tasks and allow you to quickly deploy high-quality software to production.
On the orchestration server, release managers use the DevOps landing page to configure CI/CD pipelines for their Pega® Platform applications. The landing page displays all the running and queued application deployments, branches that are to be merged, and reports that provide information about your DevOps environment such as key performance indicators (KPIs).
See the following topics for more information about using Deployment Manager to configure and use CI/CD pipelines:
- Configuring an application pipeline
- Manually starting a deployment
- Starting a deployment in a branch-based environment
- Starting a deployment in a distributed, branch-based environment
- Completing or rejecting a manual step in a deployment
- Schema changes in application packages
- Pausing a deployment
- Performing actions on a deployment with errors
- Viewing branch status
- Viewing deployment logs
- Viewing deployment reports
- Viewing reports for all deployments
- Deleting an application pipeline
- Viewing, downloading and deleting application packages in repositories
Configuring an application pipeline
When you add a pipeline, you specify merge criteria and configure stages and steps in the continuous delivery workflow. For example, you can specify that a branch must be peer-reviewed before it can be merged, and you can specify that Pega unit tests must be run after a branch is merged and is in the QA stage of the pipeline.
You can create multiple pipelines for one version of an application. For example, you can use multiple pipelines in the following scenarios:
- To move a deployment to production separately from the rest of the pipeline. You can then create a pipeline that has only a production stage or development and production stages.
- To use parallel development and hotfix life cycles for your application.
Adding a pipeline on Pega Cloud
To add a pipeline on Pega Cloud, perform the following steps:
- In the Designer Studio footer, click Deployment Manager.
- Click Add pipeline.
- Specify the details of the application for which you are creating the pipeline.
- Optional: If you want to change the URL of your development system, which is populated by default with your development system URL, in the Development environment field, press the Down Arrow key and select the URL. This is the system on which the product rule that defines the application package that moves through the repository is located.
- In the Application field, press the Down Arrow key and select the name of the application.
- In the Version field, press the Down Arrow key and select the application version.
- In the Access group field, press the Down Arrow key and select the access group for which pipeline tasks are run. This access group must be present on all the candidate systems and have at least the sysadmin4 role.
- In the Pipeline name field, enter the name of the pipeline. This name must be unique.
- Click Create.
The system adds tasks, which you cannot delete, to the pipeline that are required to successfully run a workflow, for example, Deploy and Generate Artifact. For Pega Cloud, it also adds mandatory tasks that must be run on the pipeline, for example, the Check guardrail compliance tasks.
- Optional: Add tasks that you want to perform on your pipeline, such as Pega unit testing. For more information, see Modifying stages and tasks in the pipeline.
Adding a pipeline on premises
To add a pipeline on premises, complete the following steps:
- In the Designer Studio footer, click Deployment Manager.
- Click .
- Specify the details of the application for which you are creating the pipeline.
- In the Development environment field, enter the URL of the development system. This is the system on which the product rule that defines the application package that moves through the repository is located.
- In the Application field, press the Down Arrow key and select the name of the application.
- In the Version field, press the Down Arrow key and select the application version.
- In the Access group field, press the Down Arrow key and select the access group for which pipeline tasks are run. This access group must be present on all the candidate systems and have at least the sysadmin4 role.
- In the Pipeline name field, enter the name of the pipeline. This name must be unique.
- In the Product rule field, enter the name of the product rule that defines the contents of the application.
- In the Version field, enter the product rule version.
- Optional: If the application depends on other applications, in the Dependencies section, add those applications.
- Click Add.
- In the Application name field, press the Down Arrow key and select the application name.
- In the Application version field, press the Down Arrow key and select the application version.
- In the Repository name field, press the Down Arrow key and select the repository that contains the production-ready artifact of the dependent application. If you want the latest artifact of the dependent application to be automatically populated, ensure that the repository that contains the production-ready artifact of the dependent application is configured to support file updates.
- In the Artifact name field, press the Down Arrow key and select the artifact.
For more information about dependent applications, see Product rules: Listing product dependencies for Pega-supplied applications.
- Click Next.
- In the Environment details section, in the Stages section, specify the URL of each candidate system and the authentication profile that each system uses to communicate with the orchestration system.
- In the Environments field for the system, press the Down Arrow key and select the URL of the system.
- Optional: If you are using your own authentication profiles, in the Authentication field for the system, press the Down Arrow key and select the authentication profile that you want to communicate from the orchestration server to the system.
By default, the fields are populated with the DMAppAdmin authentication profile.
- In theArtifact managementsection, specify the development and production repositories through which the product rule that contains application contents moves through the pipeline.
- In the Development repository field, press the Down Arrow key and select the development repository.
- In the Production repository field, press the Down Arrow key and select the production repository.
- Optional: In the External orchestration server section, if you are using a Jenkins step in a pipeline, specify Jenkins details.
- In the URLfield, enter the URL of the Jenkins server.
- In the Authentication profile field, press the Down Arrow key and select the authentication profile on the orchestration server that specifies the Jenkins credentials to use for Jenkins jobs.
- Click Next.
- Optional: If you are using branches in your application, in the Merge policy section, specify merge options.
- Do one of the following actions:
- To merge branches into the highest existing ruleset in the application, click the radio button.
- To merge branches into a new ruleset, click the radio button.
- In the Password field, enter the password that locks the rulesets on the development system.
- Do one of the following actions:
- Click Next.
The system adds tasks, which you cannot delete, to the pipeline that are required to successfully run a workflow, for example, Deploy and Generate Artifact. The system also adds other tasks to enforce best practices such as Check guardrail compliance.
- Optional: In the Merge criteria pane, specify tasks that must be completed before a branch can be merged in the pipeline.
- Click Add task.
- Specify the task that you want to perform.
- To specify that a branch must meet a compliance score before it can be merged:
- From the Task list, select Check guardrail compliance.
- In the Weighted compliance score field, enter the minimum required compliance score.
- Click Submit.
- To specify that a branch must be reviewed before it can be merged:
- From the Task list, selectCheck review status.
- Click Submit.
- To specify that a branch must meet a compliance score before it can be merged:
- Optional: To start a deployment automatically when a branch is merged, click the Trigger deployment on merge check box.
- Optional: Clear a check box for a deployment life cycle stage to skip it.
- Optional: In the Continuous Deployment section pane, specify the tasks to be performed during each stage of the pipeline.
- Do one of the following actions:
- Click a manually added task, click the Selector icon, and then click either Add task above or Add task below to add the task above or below the existing task.
- Click Add task in the stage.
- From the Task list, select the task that you want to perform.
- To run Pega unit tests either for the pipeline application or for an application that is associated with an access group, select Pega unit testing.
- Optional: Complete one of the following tasks:
- To run all the Pega unit tests that are in a Pega unit suite for the pipeline application, in the Test Suite ID field, enter the test suite ID. If you do not specify a test suite, all the Pega unit tests for the pipeline application are run.
- To run all the Pega unit tests for an application that is associated with an access group, in the Access Group field, enter the access group. For more information about creating Pega unit tests, seeCreating PegaUnit test cases.
- Click Submit.
- Optional: Complete one of the following tasks:
- To run a Jenkins job that you have configured, select Jenkins.
- In the Job name field, enter the name of the Jenkins job (which is the name of the Jenkins deployment) that you want to run.
- In the Token field, enter the Jenkins authentication token.
- In the Parameters field, enter parameters, if any, to send to the Jenkins job. Separate multiple parameters with a comma.
- Click Submit.
- To add a manual step that a user must perform in the pipeline, select Manual.
- In the Job name field, enter text that describes the action that you want the user to take.
- In the Assigned to field, press the Down Arrow key and select the operator ID to assign the task to.
- Click Submit.
- To specify that the application must meet a compliance, select Check guardrail compliance.
- In the Weighted compliance score field, enter the minimum required compliance score.
- Click Submit.
- To run Pega unit tests either for the pipeline application or for an application that is associated with an access group, select Pega unit testing.
- Do one of the following actions:
- Optional: To modify the Approve for production task, which is added to the stage before production and which you use so that a user must approve application changes before they are sent to production, do the following actions:
- Click the info icon.
- In the Job name field, enter a name for the task.
- In the Assign to field, press the Down Arrow key and select the user who approves the application for production. An email is sent to this user, who can approve or reject application changes from within the email.
- Click Submit.
- Click Finish.
Modifying application details
You can modify application details, such as the product rule that defines the content of the application that moves through the pipeline.
- Click Actions > Application details.
- Optional: In the Development environment field, enter the URL of the development system, which is the system on which the product rule that defines the application package that moves through the repository is located.
- Optional: In the Version field, press the Down Arrow key and select the application version.
- Optional: In the Product rule field, press the Down Arrow key and select the product rule that defines the contents of the application.
- Optional: In the Version field, press the Down Arrow key and select the product rule version.
- Optional: If the application depends on other applications, in the Dependenciessection, add those applications.
- Click Add.
- In the Application name field, press the Down Arrow key and select the application name.
- In the Application version field, press the Down Arrow key and select the application version.
- In the Repository name field, press the Down Arrow key and select the repository that contains the production-ready artifact of the dependent application. If you want the latest artifact of the dependent application to be automatically populated, ensure that the repository that contains the production-ready artifact of the dependent application is configured to support file updates.
- In the Artifact name field, press the Down Arrow key and select the artifact.
For more information about dependent applications, see Product rules: Listing product dependencies for Pega-supplied applications.
- Click Save.
Modifying URLs and authentication profiles
You can modify the URLs of your development and candidate systems and the authentication profiles that are used to communicate between those systems and the orchestration server.
- Click Actions > Environment details.
- Click Stages.
- In the Environments field for the system, press the Down Arrow key and select the URL of the system.
- In the Authentication field for the system, press the Down Arrow key and select the authentication profile that you want to communicate from the orchestration server to the system.
- Click Save.
Modifying development and production repositories
You can modify the development and production repositories through which the product rule that contains application contents moves through the pipeline. All the generated artifacts are archived in the Development repository, and all the production-ready artifacts are archived in the Production repository.
You do not need to configure repositories if you are using Pega Cloud but can use different repositories other than the default ones that are provided.
- Click Actions > Environment details.
- Click Artifact Management.
- Do one of the following actions to select a repository:
- If you are using Deployment Manager on premises, or on Pega Cloud with default repositories, complete the following tasks:
- In the Application repository section, in the Development repository field, press the Down Arrow key and select the development repository
- In the Production repository field, press the Down Arrow key and select the production repository.
- If you are using Deployment Manager on Pega Cloud and want to use different repositories other than the default repositories, complete the following tasks:
- In the Artifact repository section, click the Yes radio button.
- In the Development repository field, press the Down Arrow key and select the development repository.
- In the Production repository field, press the Down Arrow key and select the production repository.
- If you are using Deployment Manager on premises, or on Pega Cloud with default repositories, complete the following tasks:
- Click Save.
Specifying Jenkins server information
If you are using a Jenkins step, specify details about the Jenkins server such as its URL.
- Click Actions > Environment details.
- Click External orchestration server.
- Click the Jenkins icon.
- Click OK.
- In the URL field, enter the URL of the Jenkins server.
- In the Authentication profile field, press the Down Arrow key and select the authentication profile on the orchestration server that specifies the Jenkins credentials to use for Jenkins jobs.
- Click Save.
Specifying merge options for branches
If you are using branches in your application, specify options for merging branches into the base application.
- Click Actions > Merge policy.
- Do one of the following actions:
- To merge branches into a new ruleset, click the radio button.
- To merge branches into the highest existing ruleset in the application, click the radio button.
- In the Password field, enter the password that locks the rulesets on the development system.
- Click Save.
Modifying stages and tasks in the pipeline
You can modify the stages and the tasks that are performed in each stage of the pipeline. For example, you can skip a stage or add tasks such as Pega unit testing to be done on the QA stage.
- Click Actions > Pipeline model.
- Optional: In the Merge criteria pane, specify tasks that must be completed before a branch can be merged in the pipeline.
- Click Add task.
- Specify the task that you want to perform.
- To specify that a branch must meet a compliance score before it can be merged:
- From the Task list, select Check guardrail compliance.
- In the Weighted compliance score field, enter the minimum required compliance score.
- Click Submit.
- To specify that a branch must be reviewed before it can be merged:
- From the Task list, selectCheck review status.
- Click Submit.
- To specify that a branch must meet a compliance score before it can be merged:
- Optional: To start a deployment automatically when a branch is merged, click the Trigger deployment on merge check box.
- Optional: Clear a check box for a deployment life cycle stage to skip it.
- Optional: In the Continuous Deployment section pane, specify the tasks to be performed during each stage of the pipeline.
- Do one of the following actions:
- Click a manually added task, click the selector icon, and then click either Add task above or Add task below to add the task above or below the existing task.
- Click Add task in the stage.
- From the Task list, select the task that you want to perform.
- To run Pega unit tests either for the pipeline application or for an application that is associated with an access group, select Pega unit testing.
- Optional: Complete one of the following tasks:
- To run all the Pega unit tests that are in a Pega unit suite for the pipeline application, in the Test Suite ID field, enter the test suite ID. If you do not specify a test suite, all the Pega unit tests for the pipeline application are run.
- To run all the Pega unit tests for an application that is associated with an access group, in the Access Group field, enter the access group. For more information about creating Pega unit tests, seeCreating PegaUnit test cases.
- Click Submit.
- Optional: Complete one of the following tasks:
- To run a Jenkins job that you have configured, select Jenkins.
- In the Job name field, enter the name of the Jenkins job (which is the name of the Jenkins deployment) that you want to run.
- In the Token field, enter the Jenkins authentication token.
- In the Parameters field, enter parameters, if any, to send to the Jenkins job. Separate multiple parameters with a comma.
- Click Submit.
- To add a manual step that a user must perform in the pipeline, select Manual.
- In the Job name field, enter text that describes the action that you want the user to take.
- In the Assigned to field, press the Down Arrow key and select the operator ID to assign the task to.
- Click Submit.
- To specify that the application must meet a compliance, select Check guardrail compliance.
- In the Weighted compliance score field, enter the minimum required compliance score.
- Click Submit.
- To run Pega unit tests either for the pipeline application or for an application that is associated with an access group, select Pega unit testing.
- Do one of the following actions:
- Optional: To modify the Approve for production task, which is added to the stage before production and which you use so that a user must approve application changes before they are sent to production, do the following actions:
- Click the info icon.
- In the Job name field, enter a name for the task.
- In the Assign to field, press the Down Arrow key and select the user who approves the application for production. An email is sent to this user, who can approve or reject application changes from within the email.
- Click Submit.
- Click Finish.
Manually starting a deployment
Start a deployment manually if you are not using branches and are working directly in rulesets.
You can also start a deployment manually if you do not want deployments to start automatically when branches are merged. You must also clear the Trigger deployment on merge check box in the pipeline configuration.
- Click Deployment Manager in the Designer Studio footer.
- Click the pipeline for which you want to start a deployment.
- Click Start deployment.
- Start a new deployment or deploy an existing application by completing one of the following actions:
- To start a deployment and deploy a new application package, do the following steps:
- Click the radio button.
- In the Deployment name field, enter the name of the deployment.
- Click Deploy.
- To deploy an application package that is on a cloud repository, do the following steps:
- Click the radio button.
- In the Deployment name field, enter the name of the deployment.
- In the Select a repository field, press the Down Arrow key and select the repository.
- In the Select an artifact field, press the Down Arrow key and select the application package.
- Click Deploy.
Starting a deployment in a branch-based environment
In non-distributed, branch-based environments, you can immediately start a deployment by submitting a branch into a pipeline in the Merge Branches wizard. For more information, see Submitting a branch into a pipeline.
Starting a deployment in a distributed branch-based environment
If you are using Deployment Manager in a distributed, branch-based environment and using multiple pipelines per application, first export the branch to the main development system, and then merge it.
- On the remote system, package the branch. For more information, see Packaging a branch.
- Export the branch.
- On the main development system, import the branch by using the Import wizard. For more information, see Importing a file by using the Import wizard.
- On the main development system, start a deployment by using the Merge Branches wizard. For more information, see Submitting a branch into a pipeline.
If you are using one pipeline per application, you can publish a branch to start the merge. For more information, see Publishing a branch to a repository.
Completing or rejecting a manual step in a deployment
If a manual step is configured on a deployment, the deployment pauses when it reaches the step, and you can either complete or reject it. For example, if a user was assigned a task and completed it, you can complete the task to continue the deployment. Deployment Manager also sends you an email when there is a manual step in the pipeline. You can complete or reject a step either within the pipeline or through email.
Deployment Manager also generates a manual step if there are schema changes in the application package that the release manager must apply. For more information, see Schema changes in application packages.
To complete or reject a manual step within the deployment, do the following steps:
- Click Deployment Manager in the Designer Studio footer.
- Click a pipeline.
- Right-click the manual step and select one of the following options:
- Complete task: Resolve the task so that the deployment continues through the pipeline.
- Reject task: Reject the task so that the deployment does not proceed.
To complete or reject a manual step from within an email, click either Accept or Reject.
Schema changes in application packages
If an application package that is to be deployed on candidate systems contains schema changes, the Pega Platform orchestration server checks the candidate system to verify that you have the required privileges to deploy the schema changes. One of the following results occurs:
- If you have the appropriate privileges, schema changes are automatically applied to the candidate system, the application package is deployed to the candidate system, and the pipeline continues.
- If you do not have the appropriate privileges, Deployment Manager generates an SQL file that lists the schema changes and sends it to your email address. It also creates a manual step, pausing the pipeline, so that you can apply the schema changes. After you complete the step, the pipeline continues. For more information about completing a step, see Completing or rejecting a manual step.
You can also configure settings to automatically deploy schema changes so that you do not have to manually apply them if you do not have the required privileges. For more information, see Configuring settings to automatically deploy schema changes.
Configuring settings to automatically deploy schema changes
You can configure settings to automatically deploy schema changes that are in an application package that is to be deployed on candidate systems. Configure these settings so that you do not have to apply schema changes if you do not have the privileges to deploy them.
- On the orchestration server, in Pega Platform, set the AutoDBSchemaChanges dynamic system setting to true to enable schema changes at the system level.
- In Designer Studio, search for AutoDBSchemaChanges.
- On the Settings tab, in the Value field, enter true.
- Click .
- Add the SchemaImport privilege to your access role to enable schema changes at the user level. For more information, see Specifying privileges for an Access or Role to Object rule.
These settings are applied sequentially. If the AutoDBSchemaChanges Dynamic System Setting is set to false, you cannot deploy schema changes, even if you have the SchemaImport privilege.
Pausing a deployment
When you pause a deployment, the pipeline completes the task that it is running, and stops the deployment at the next step.
To pause a deployment, click the
button.Performing actions on a deployment that has errors
If a deployment has errors, the pipeline stops processing on it. You can do one of the following actions:
- Ignore the current step and run the next step by clicking the button.
- Restart the deployment at the current step, after fixing the errors, by clicking the button.
- Roll back to an earlier deployment by clicking the Roll back deployment button.
Viewing branch status
You can view the status of all the branches that are in your pipeline. For example, you can see whether a branch was merged in a deployment and when it was merged.
- Click Deployment Manager in the Designer Studio footer.
- Click a pipeline.
- Click Actions > View branches.
Viewing deployment logs
View logs for a deployment to see the completion status of operations, for example, when a deployment is moved to a new stage. You can change the logging level to control which events are displayed in the log. For example, you can change logging levels of your deployment from INFO to DEBUG for troubleshooting purposes. For more information, see Logging Level Settings tool.
- Click Deployment Manager in the Designer Studio footer.
- Click a pipeline.
- Click the Gear icon for the deployment for which you want to view the log file.
- Click View log.
Viewing deployment reports
Deployment reports provide information about a specific deployment. You can view information such as the number of tasks that you configured on a deployment that have been completed and when each task started and ended.
- Click Deployment Manager in the Designer Studio footer.
- Click a pipeline.
- Click the Gear icon for the deployment for which you want to view the deployment report.
- Click View report.
Viewing reports for all deployments
Reports provide a variety of information about all the deployments in your pipeline. You can view the following key performance indicators (KPI):
- Deployment Success - Percentage of deployments that are successfully deployed to production
- Deployment Frequency – Average time taken to deploy to production.
- Deployment Speed - Average time taken to deploy to production
- Start frequency - Frequency at which new deployments are triggered
- Failure rate - Average number of failures per deployment
- Merges per day - Average number of branches that are successfully merged per day
To view reports, do the following tasks:
- Click Deployment Manager in the Designer Studio footer.
- Click a pipeline.
- Click Actions > View reports.
Deleting an application pipeline
When you delete a pipeline, its associated application packages are not removed from the repositories that the pipeline is configured to use.
- In the Designer Studio footer, click Deployment Manager.
- Click the Delete icon for the pipeline that you want to delete.
- Click .
Viewing, downloading, and deleting application packages in repositories
You can view, download, and delete application packages in repositories that are on the orchestration server.
If you are using Deployment Manager on Pega Cloud, application packages that you have deployed to cloud repositories are stored on Pega Cloud. To manage your cloud storage space, you can download and permanently delete the packages.
- In the Designer Studio footer, click Deployment Manager.
- Click the pipeline for which you want to download or delete packages.
- Click either Development Repository or Production Repository.
- Click Actions > Browse artifacts.
- To download an application package, click the package, and then save it to the appropriate location.
- To delete a package, select the check boxes for the packages that you want to delete, and then click Delete.