Table of Contents

Using Deployment Manager 4.6.x

Use Deployment Manager to create continuous integration and delivery (CI/CD) pipelines, which automate tasks so that you can 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).

This document describes the features for the latest version of Deployment Manager 4.6.x.
To use notifications, you must install or upgrade to Pega 8.1.3 on the orchestration server.

For more information about using Deployment Manager and data migration pipelines, see Automatically exporting and importing simulation data with Deployment Manager 4.6.x.

For more information about using Deployment Manager to configure and use CI/CD pipelines, see the following topics:

 

Logging in to Deployment Manager

Deployment Manager provides a dedicated portal from which you can access features. To log in to Deployment Manager, on the orchestration server, enter the DMAppAdmin operator ID and the password that you specified for it.

Accessing the Dev Studio portal

If your role has the appropriate permission, you can access the Dev Studio portal by by clicking Operator icon > Switch to Dev Studio. You can also open, modify, and create repositories and authentication profiles.

For more information on enabling a role to access Dev Studio, see Providing access to the Dev Studio portal.

Accessing API documentation

Deployment manager provides REST APIs for interacting with many resources in the Deployment Manager interface. Use these APIs to create and manage pipelines by using automated scripts or external information.

To access API documentation:

  1. Download the DeploymentManager04_04_0x.zip file from the Pega Deployment Manager Pega Exchange page.
  2. Extract the .zip file, and then open the Documentation/readme-for-swagger.md file.

Roles and users

Deployment Manager provides two default roles, which you cannot modify or delete, that define privileges for super administrators and application administrators. Privileges for super administrators are applied across all applications, and privileges for application administrators are applied to specific applications.

Super administrators can also add roles and specify the privileges to assign to them. Super administrators and application administrators can add users and assign them access to the applications that they manage. By defining roles and users, you can manage which users can access Deployment Manager and which features they can access. For example, you can create a role that does not permit users to delete pipelines for a specific application.

For more information, see the following topics:

Using roles and privileges by creating a dynamic system setting

To use roles and privileges, you must first create the EnableAttributeBasedSecurity dynamic system setting.

  1. In Dev Studio, click Create > SysAdmin > Dynamic System Settings.
  2. In the Short Description field, enter a short description.
  3. In the Owning Ruleset field, enter Pega-RulesEngine.
  4. In the Setting Purpose field, enter EnableAttributeBasedSecurity.
  5. Click Create and open.
  6. On the Settings tab, in the value field, enter true.
  7. Click Save.

Adding and modifying roles

If you are a super administrator, you can add and modify roles.

  1. In the navigation pane, click Users, and then click Roles and privileges.
  2. Do one of the following actions:
    • To add a role, click Add role.
    • To modify a role, click a role, and then click Edit.
  3. In the Add role or Edit role dialog box, in the Name field, enter a name for the role.
  4. Select the privileges that you want to assign to the role.
  5. Click Submit.

Providing access to the Dev Studio portal

Deployment Manager provides a dedicated portal from which you can access features. In addition, if you have permission to use the Dev Studio portal, you can open, modify, and create repositories and authentication profiles in Dev Studio from within the Deployment Manager portal.

To provide access to the Dev Studio portal for a role, complete the following steps:

  1. In the navigation pane, click Users, and then click Roles and privileges.
  2. Do one of the following actions:
    • To add a role, click Add role.
    • To modify a role, click Edit.
  3. In the Add role or Edit Role dialog box, in the Name field, enter the name of the role.
  4. Click Access to Dev Studio.
  5. Click Submit.
If you specify Dev Studio as a default portal for the PegaDeploymentManager:Administrators access group, all the users that you add in the Deployment Manager portal can access Dev Studio.

Adding users and specifying their roles

If you are a super administrator or application administrator, you can add users to Deployment Manager and specify their roles.

Only super administrators can create other super administrators or application administrators who can access one or more applications. Application administrators can create other application administrators for the applications that they manage.

  1. In the navigation pane, click Users, and then click People.
  2. On the People page, click Add user.
  3. In the Add user dialog box, click the User field, and do one of the following actions:
    • Press the Down Arrow key and select the user that you want to add.
    • Enter an email address.
  4. Click Add.
  5. From the Role list, select the role to assign to the user.
  6. Optional: If you selected the App admin role or a custom role, in the Applications field, enter the application name that the user can access.
  7. Click Send invite to send an email, which contains the user name and a randomly generated password for the user to log in to Deployment Manager with, to the user.

Modifying user roles and privileges

Super administrators can give other users super administrative privileges or assign them as application administrators to any application. Application administrators can assign other users as application administrators for the applications that they manage.

  1. In the navigation pane, click Users, and then click People.
  2. On the People page, click the user.
  3. In the Roles and privileges section, modify the user role and applications that they can access, as appropriate.
  4. Click Save.

Modifying your user details and password

You can modify your own user details, such as first and last name, and you can change your password.

  1. In the navigation pane, click Users, and then click People.
  2. On the People page, click your user name.
  3. In the Personal details section, modify your name, email address, and phone number, as appropriate.
  4. To change your password:
    1. Click Update password.
    2. In the Change operator ID dialog box, enter your new password, reenter it to confirm it, and then click Submit.
  5. Click Save.

Deleting users

If you are a super administrator or application administrator, you can delete users for the applications that you manage.

  1. In the navigation pane, click Users, and then click People.
  2. On the People page, click the Delete icon for the user that you want to delete.

Deployment Manager notifications

You can enable notifications to receive updates about the events that occur in your pipeline. For example, you can choose to receive emails about whether Pega unit tests failed or succeeded. You can receive notifications in the Deployment Manager notifications gadget, through email, or both. By default, all notifications are enabled for users who are configured in Deployment Manager.

If users are assigned manual tasks but are not configured as users in Deployment Manager, they receive emails for the manual tasks.

Users who are branch authors but are not configured as Deployment Manager users, receive all Deployment Manager notifications for the pipeline into which they merge branches.

See the following topics for more information:

Managing Deployment Manager notifications

To enable notifications and select the notifications that you want to receive, perform the following actions:

  1. In the Deployment Manager navigation pane, click your profile icon.
  2. Click Notification preferences.
  3. Select the events for which you want to receive notifications.
  4. Specify how you want to receive notifications.
  5. Click Submit.

Configuring email senders and recipients

To receive email notifications, first configure the email server from which emails are sent and the senders to which notifications are sent.

  1. In Deployment Manager, in the navigation pane, click Settings.
  2. Click Email configuration.
  3. On the Email configuration page, click the Email provider list and select the email provider. When you make a selection, some fields, such as SMTP host and Port, are automatically populated in the Server details section in the Sender and Receivers sections. You can edit the information in these fields.
  4. In the Sender section, in the Identity subsection, configure the email sender identity information to use.
    1. In the Email address field, enter the email address from which the email is sent.
    2. In the Display name field, enter the display name of the sender.
    3. In the From field, enter the email address associated with email sent from this account.
    4. In the User ID field, enter the SMTP user ID that sends email from this host. If you do not specify a value, the system uses the value in the From field.
    5. In the Password field, enter the sender password.
    6. In the Reply to field, enter the email address to which email replies are sent.
  5. In the Server details subsection, configure email server information.
    1. In the SMTP host field, enter the SMTP host for the email server.
    2. In the Port field, enter the SMTP server port number for outgoing email connections. The default options are:
      • 25 (unsecured)
      • 587 (STARTTLS)
      • 465 (SMTPS)
    3. Select the Use SMPTS check box to use SSL to send email messages through this server. Do not select this option if the email server uses STARTTLS.
  6. Click Test connection to verify that the sender information is configured correctly.
  7. In the Receiver section, in the Identity subsection, configure the email recipient information.
    1. Select the Use sender's ID and password check box to use the sender ID and password. If you select this check box, the User ID and Password fields are populated by the information that you configured in the Identity subsection in the Sender section.
    2. In the User ID field, enter the user ID of the email recipient.
    3. In the Password field, enter the password of the email recipient.
  8. In the Server details subsection, configure the email server that receives incoming email.
    1. In the Host field, enter the POP3 or IMAP mail server host name or IP address that is used to receive incoming email.
    2. In the Port field, enter the POP3 or IMAP mail server port number for email connections.
      • IMAP – 143 (unsecured) or 993 (secured with SSL)
      • POP3 – 110 (unsecured) or 995 (secured with SSL)
    3. From the Protocol list, select the email server protocol (IMAP or POP3).
    4. Select the Use SSL/TLS check box to use SSL to send email messages through this server. Do not select this option if the email server uses STARTTLS.
  9. Click Test connection to verify that the receiver information is configured correctly.
  10. Click Save.

Adding custom Deployment Manager notification channels

You can receive notifications through email, the Deployment Manager notifications gadget, or both. You can create custom notification channels to meet application requirements such as sending notifications as phone text messages or as push notifications on mobile devices.

Deployment Manager provides the following notifications to which you can add channels:

  • pyAbortDeployment
  • pyTaskFailure
  • pyTaskFailure
  • pyTaskCompletion
  • pyStartDeployment
  • pyStageCompletion
  • pySchemaChange
  • pyDeploymentCompletion
  • pyAgedUpdateActionTaken
  • pyAgedUpdateActionRequired

To create a custom notification channel, complete the following steps:

  1. On the orchestration server, in Pega Platform, create a custom notification channel. For more information, see Adding a custom notification channel.
  2. Add the application ruleset, which contains the channel that you created, to the Deployment Manager application.
    1. In the Dev Studio header, click Deployment Manager, and then click Definition.
    2. On the Edit Application rule form, in the Application rulesets section, click Add ruleset.
    3. Press the Down Arrow key and select the ruleset and version that contains the custom notification channel.
    4. Save the rule form.
  3. Enable the channel that you created on the appropriate notifications by savin the notification in the application ruleset that contains the channel.

    For example, if you want to use the Mobile channel for the pyStartDeployment notification, save the pyStartDeployment notification in the application ruleset that contains the Mobile channel.
  4. Enable the channel on the notification.
    1. Open the notification by clicking Records > Notification, and then clicking the notification.
    2. Click the Channels tab.
    3. On the Channel configurations page, select the channel that you want to use.
    4. Save the rule form.

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.

For more information, see the following topics:

Adding a pipeline on Pega Cloud Services

To add a pipeline on Pega Cloud Services, perform the following steps:

  1. Click Pipelines > Application pipelines.
  2. Click New.
  3. Specify the details of the application for which you are creating the pipeline.
    1. Optional: 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.
    2. In the Application field, press the Down Arrow key and select the name of the application.
    3. In the Version field, press the Down Arrow key and select the application version.
    4. Click the Access group field 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. Ensure that the access group is correctly pointing to the application name and version that is configured in the pipeline.
    5. In the Pipeline name field, enter the name of the pipeline. This name must be unique.
    6. Optional: To change product rule that defines the contents of the application, the Product rule field, enter the name of the product rule that defines the contents of the application, which is populated by default with the application name.
    7. Optional: To change the product rule version, in Version field, enter the version, which is populated by default with the application version.
  4. If you are using a separate product rule to manage test cases, in the Application test cases section, to deploy a test case, select the Deploy test applications check box; then, complete the following steps:
    1. In the Test application field, enter the name of the test application.
    2. In the Version field, enter the version of the test case product rule.
    3. In the Access group field, enter the access group for which test cases are run.
    4. In the Product rule field, enter the name of the test case product rule.
    5. From the Deploy until field, select the pipeline stage until which the test case product rule will be deployed.
When you use separate product rules for test cases and run a pipeline, the Run Pega unit tests, Enable test coverage, and Verify test coverage tasks are run for the access group that is specified in this section.

For the Run Pega scenario tests task, the user name that you provide should belong to the access group that is associated with the test application.
  1. 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 Services, it also adds mandatory tasks that must be run on the pipeline, for example, the Check guardrail compliance task and Verify security checklist task.

  1. 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:

  1. Click Pipelines > Application pipelines.
  2. Click New.
  3. Specify the details of the application for which you are creating the pipeline.
    1. 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.
    2. In the Application field, press the Down Arrow key and select the name of the application.
    3. In the Version field, press the Down Arrow key and select the application version.
    4. 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.
    5. In the Pipeline name field, enter the name of the pipeline. This name must be unique.
    6. In the Product rule field, enter the name of the product rule that defines the contents of the application.
    7. In the Version field, enter the product rule version.
  4. If you are using a separate product rule to manage test cases, in the Application test cases section, to deploy a test case, select the Deploy test applications check box; then, complete the following steps:
    1. In the Test application field, enter the name of the test application.
    2. In the Version field, enter the version of the test case product rule.
    3. In the Access group field, enter the access group for which test cases are run. Ensure that the access group is correctly pointing to the application name and version that is configured in the pipeline.
    4. In the Product rule field, enter the name of the test case product rule.
    5. From the Deploy until field, select the pipeline stage until which the test case product rule will be deployed.
When you use separate product rules for test cases and run a pipeline, the Run Pega unit tests, Enable test coverage, and Verify test coverage tasks are run for the access group that is specified in this section.

For the Run Pega scenario tests task, the user name that you provide should belong to the access group that is associated with the test application.
  1. Click Dependencies.
    1. Click Add.
    2. In the Application name field, press the Down Arrow key and select the application name.
    3. In the Application version field, press the Down Arrow key and select the application version.
    4. 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.
    5. In the Artifact name field, press the Down Arrow key and select the artifact.

For more information about dependent applications, see Listing product dependencies.

  1. Click Next.
  2. 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.
    1. In the Environments field for the system, press the Down Arrow key and select the URL of the system.
    2. 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.

  1. In the Artifact management section, specify the development and production repositories through which the product rule that contains application contents moves through the pipeline.
  2. In the Development repository field, press the Down Arrow key and select the development repository.
  3. In the Production repository field, press the Down Arrow key and select the production repository.
  4. Optional: In the External orchestration server section, if you are using a Jenkins step in a pipeline, specify the Jenkins details.
    1. In the URL field, enter the URL of the Jenkins server.
    2. 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.
  5. Click Next.
  6. Specify whether you are using branches in your application:
    • If you are not using branches, click the No radio button, and then go to step 15.
    • If you are using branches, go to the next step.
  7. Configure branch settings:
    1. Click the Yes radio button.
    2. Do one of the following actions:
      • To merge branches into the highest existing ruleset in the application, click Highest existing ruleset.
      • To merge branches into a new ruleset, click New ruleset.
    3. In the Password field, enter the password that locks the rulesets on the development system.
  8. 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 and Verify security checklist.

  1. Optional: To specify that a branch must meet a compliance score before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Check guardrail compliance.
    3. In the Weighted compliance score field, enter the minimum required compliance score.
    4. Click Submit. For more information about compliance scores, see Compliance score logic.
  2. Optional: To specify that a branch must meet a compliance score before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Check review status.
    3. Click Submit. For more information about branch reviews, see Branch reviews.
  3. Optional: To run Pega unit tests on the branches for the pipeline application or for an application that is associated with an access group before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Pega unit testing.
    3. Optional: 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.
    4. Click Submit. For more information about creating Pega unit tests, see Creating Pega unit test cases.
When you use separate product rules for test cases and run a pipeline, the Run Pega unit tests, Enable test coverage, and Verify test coverage tasks are run for the access group that is specified in the Application test cases section, .

For the Run Pega scenario tests task, the user name that you provide should belong to the access group that is associated with the test application.
  1. Optional: To start a deployment automatically when a branch is merged, click the Trigger deployment on merge check box. Do not select this check box if you want to manually start deployments. For more information, see Manually starting a deployment.
  2. Optional: Clear a check box for a deployment life cycle stage to skip it.
  3. Optional: In the Continuous Deployment section, specify the tasks to be performed during each stage of the pipeline.See the following topics for more information:
  4. Optional: Clear the Production ready check box if you do not want to generate an application package, which is sent to the production repository. You cannot clear this check box if you are using a production stage in the life cycle.
  5. Click Finish.

Adding the Pega unit testing task

When you use separate product rules for test cases and run a pipeline, the Pega unit testing task is run for the access group that is specified in the Application test cases section, which you configure when you add or modify a pipeline.

To add a Pega unit test task, do the following steps:

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. To run Pega unit tests for either the pipeline application or for an application that is associated with an access group, select Pega unit testing from the Task list.
  3. Do one of the following actions:
    • Optional: 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 pxInsName of the test suite.

      You can find this value in the XML document that comprises the test suite by clicking, in Pega Platform, Actions > XML on the Edit Test Suite form. If you do not specify a test suite, all the Pega unit tests for the pipeline application are run.
       
    • Optional: 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, see
      Creating Pega unit test cases.

       
  4. Click Submit.
  5. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Run Jenkins job task

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. 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.
  3. In the Token field, enter the Jenkins authentication token.
  4. In the Parameters field, enter parameters, if any, to send to the Jenkins job.
  5. Click Submit.
  6. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the manual step task

To add a manual step that a user must perform in the pipeline, do the following steps:

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Manual.
  3. In the Job name field, enter text that describes the action that you want the user to take.
  4. In the Assigned to field, press the Down Arrow key and select the operator ID to assign the task to.
  5. Click Submit.
  6. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Check guardrail compliance score task

To specify that an application must meet a compliance score, do the following steps:

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Check guardrail compliance.
  3. In the Weighted compliance score field, enter the minimum required compliance score.
  4. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Verify security checklist task

To specify that all the tasks in the Application Security Checklist must be performed so that the pipeline can comply with security best practices, do the following steps. You must log in to the system for which this task is configured, and then mark all the tasks in the Application Security checklist as completed for the pipeline application. For more information about completing the checklist, see Preparing your application for secure deployment.

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Verify Security checklist.
  3. Click Submit.
  4. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Enable test coverage task

To start a test coverage session at the application level, do the following steps. Starting and stopping test coverage generates a report that identifies the executable rules in your application that are either covered or not covered by tests.

When you use separate product rules for test cases and run a pipeline, the Enable test coverage task is run for the access group that is specified in the Application test cases section, which you configure when you add or modify a pipeline.

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Enable test coverage.
  3. Click Submit.
  4. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Validate test coverage step

To stop a test coverage session, do the following actions. Add this task below the Start test coverage task on the same system. You must add this task to stop a test coverage session if you used the Enable test coverage task. For more information about application-level coverage reports, see Generating an application-level test coverage report.

When you use separate product rules for test cases and run a pipeline, the Validate test coverage task is run for the access group that is specified in the Application test cases section, which you configure when you add or modify a pipeline.

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Validate test coverage.
  3. Click Submit.
  4. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Run Pega scenario tests step

To run a Pega scenario tests step, do the following actions. For more information about scenario tests, see Creating a scenario test.

Deployment Manager supports Selenium 3.141.59.

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Run Pega scenario tests.
  3. In the User name field, enter the user name for the Pega Platform instance on which you are running scenario tests. For the Run Pega scenario tests task, if you are using a separate product rule for a test application, the user name that you provide should belong to the access group that is associated with the test application.
  4. In the Password field, enter the Pega Platform password.
  5. From the Test Service Provider field, select the browser that you are using to run the scenario tests in the pipeline.
  6. Do one of the following actions:
    • If you selected CrossBrowserTesting, BrowserStack, or SauceLabs, go to step 7.
    • If you selected Standalone, go to step 8.
  7. If you selected CrossBrowserTesting, BrowserStack, or SauceLabs:
    1. In the Provider auth name field, enter the auth name that you you use to log in to the test service provider.
    2. In the Provider auth key field, enter the key for the test service provider.
    3. Go to step 9.
  8. If you selected Standalone, in the Provider URL field, enter the URL of the Selenium Standalone Server by using one of the following:
    1. Hub hostname and port: Use the format Hubhostname:port.
    2. IP address: Enclose the IP address in double quotation marks.
  9. In the Browser field, enter the browser that you are using to record scenario tests.
  10. In the Browserversion field, enter the browser version.
  11. In the Platform field, enter the development platform that you are using to record tests.
  12. In the Screen resolution field, enter the resolution at which are recording scenario tests.
  13. Click Submit.
  14. Continue configuring your pipeline. For more information, see one of the following topics:

Adding the Refresh application quality task

To refresh the Application Quality dashboard, which provides information about the health of your application, on the candidate system, do the following steps. Add this task after you have run Pega unit tasks, checked guardrail compliance, run Pega scenario tests, and started and stopped test coverage.<

  1. Do one of the following actions:
    • Click a manually added task, click the More icon, and then click either Add task above or Add task below.
    • Click Add task in the stage.
  2. From the Task list, select Refresh application quality.
  3. Click Submit.
  4. Continue configuring your pipeline. For more information, see one of the following topics:

Modifying the Approve for production task

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 steps:

  1. Click the Info icon.
  2. In the Job name field, enter a name for the task.
  3. 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.
  4. Click Submit.
  5. Continue configuring your pipeline. For more information, see one of the following topics:

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.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Pipeline settings.
  3. Click Application details.
  4. 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.
  5. Optional: In the Version field, press the Down Arrow key and select the application version.
  6. Optional: In the Product rule field, enter the product rule that defines the contents of the application.
  7. Optional: In the Version field, enter the product rule version.
  8. f you are using a separate product rule to manage test cases, in the Application test cases section, complete the following steps:
    1. To deploy test cases, select the Deploy test applications check box.
    2. In the Test application field, enter the name of the test application.
    3. In the Version field, enter the version of the test case product rule.
    4. In the Access group field, enter the access group for which test cases are run.
    5. In the Product rule field, enter the name of the test case product rule.
    6. From the Deploy until field, select the pipeline stage until which the test case product rule will be deployed.
When you use separate product rules for test cases and run a pipeline, the Run Pega unit tests, Enable test coverage, and Verify test coverage tasks are run for the access group that is specified in this section.

For the Run Pega scenario tests task, the user name that you provide should belong to the access group that is associated with the test application.
  1. Optional: If the application depends on other applications, in the Dependencies section, add those applications.
    1. Click Add.
    2. In the Application name field, press the Down Arrow key and select the application name.
    3. In the Application version field, press the Down Arrow key and select the application version.
    4. 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.
    5. In the Artifact name field, press the Down Arrow key and select the artifact.

For more information about dependent applications, see Listing product dependencies.

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.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Pipeline settings.
  3. Click Deployment stages.
  4. In the Environments field for the system, press the Down Arrow key and select the URL of the system.
  5. 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.
  6. 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 Services; you can use different repositories other than the default ones that are provided.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Pipeline settings.
  3. Click Artifact Management.
  4. If you are using Deployment Manager on premises, or on Pega Cloud Services with default repositories, complete the following tasks:
    1. In the Application repository section, in the Development repository field, press the Down Arrow key and select the development repository
    2. In the Production repository field, press the Down Arrow key and select the production repository.
  5. If you are using Deployment Manager on Pega Cloud Services and want to use different repositories other than the default repositories, complete the following tasks:
    1. In the Artifact repository section, click Yes.
    2. In the Development repository field, press the Down Arrow key and select the development repository.
    3. In the Production repository field, press the Down Arrow key and select the production repository.
  6. Click Save.

Specifying Jenkins server information

If you are using a Jenkins step, specify details about the Jenkins server such as its URL.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Pipeline settings.
  3. Click External orchestration server.
  4. In the URL field, enter the URL of the Jenkins server.
  5. 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.
  6. Click Save.

Specifying merge options for branches

If you are using branches in your application, specify options for merging branches into the base application.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Pipeline settings.
  3. Click Merge policy.
  4. If you are not using branches, click the No radio button, and then go to step 6.
  5. If you are using branches, do the following actions:
    1. Click Yes.
    2. Do one of the following actions:
      • To merge branches into the highest existing ruleset in the application, click Highest existing ruleset.
      • To merge branches into a new ruleset, click New ruleset.
    3. In the Password field, enter the password that locks the rulesets on the development system.
  6. 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.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Pipeline model.
  3. Optional: To specify that a branch must meet a compliance score before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Check guardrail compliance.
    3. In the Weighted compliance score field, enter the minimum required compliance score.
    4. Click Submit. For more information about compliance scores, see Compliance score logic.
  4. Optional: To specify that a branch must meet a compliance score before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Check review status.
    3. Click Submit. For more information about branch reviews, see Branch reviews.
  5. Optional: To run Pega unit tests on the branches for the pipeline application or for an application that is associated with an access group before it can be merged:
    1. In the Merge criteria pane, click Add task.
    2. From the Task list, select Pega unit testing.
    3. Optional: 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.
    4. Click Submit. For more information about creating Pega unit tests, see Creating Pega unit test cases.
  6. Optional: To start a deployment automatically when a branch is merged, select the Trigger deployment on merge check box. Do not select this check box if you want to manually start a deployment. For more information, see Manually starting a deployment.
  7. Optional: Clear a check box for a deployment life cycle stage to skip it.
  8. Optional: In the Continuous Deployment section, specify the tasks to be performed during each stage of the pipeline.See the following topics for more information:
  9. Optional: Clear the Production ready check box if you do not want to generate an application package, which is sent to the production repository. You cannot clear this check box if you are using a production stage in the life cycle.
  10. Click Finish.

Accessing systems in your pipeline

You can open the systems in your pipeline and log in to the Pega Platform instances.

  1. Optional: If the pipeline is not already open, in the navigation pane, click Pipelines > Application pipelines.
  2. Click the pop-out arrow for the system that you want to open.

Starting deployments

You can start deployments in a number of ways. For example, you can start a deployment manually if you are not using branches, by submitting a branch into the Merge Branches wizard, or by publishing application changes in App Studio to create a patch version of your application. See the following topics for more information:

Manually starting a deployment

You can 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.

  1. Do one of the following actions:
    • If the pipeline that you want to start is open, click Start deployment.
    • Click Pipelines > Application pipelines, and then click Start deployment for the pipeline that you want to start.
  2. In the Start deployment dialog box, 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:
      1. Click Generate new artifact.
      2. In the Deployment name field, enter the name of the deployment.
      3. Click Deploy.
    • To deploy an application package that is on a cloud repository, do the following steps:
      1. Click Deploy an existing artifact.
      2. In the Deployment name field, enter the name of the deployment.
      3. In the Select a repository field, press the Down Arrow key and select the repository.
      4. In the Select an artifact field, press the Down Arrow key and select the application package.
  3. Click Deploy.

Starting a deployment by using the Merge Branches wizard

In either a branch-based or distributed, branch-based environment, you can immediately start a deployment by submitting a branch into a pipeline in the Merge Branches wizard. The wizard displays the merge status of branches so that you do not need to open Deployment Manager to view it.

If you are using a separate product rule for a test application, after you start a deployment either by using the Merge Branches wizard, the branches of both the target and test applications are merged in the pipeline.

Prerequisites

You can submit a branch to your application and start the continuous integration portion of the pipeline when the following criteria is met:

  • You have created a pipeline for your application in Deployment Manager.
  • You are merging a single branch.
  • The RMURL dynamic system setting, which defines the URL of orchestration server, is configured on the system.
  • All the rulesets in your branch belong to a single application that is associated with your pipeline. Therefore, your branch cannot contain rulesets that belong to different application layers.

Before you merge branches, do the following tasks:

  1. Check all rules into their base rulesets before you merge them.
  2. Check if there are any potential conflicts to address before merging branches. For more information, see Viewing branch information.
  3. As a best practice, lock a branch after development is complete so that no more changes can be made. For more information, see Locking a branch.
  4. Check if there are any potential conflicts to address before merging branches. For more information, see Viewing branch information.

Submitting a branch into an application by using the Merge Branches wizard

To submit a branch into an application by using the Merge Branches wizard, perform the following steps:

  1. In the navigation pane in Dev Studio, click App, and then click Branches.
  2. Right-click the branch and click Merge.
  3. Click Proceed.
  4. The wizard displays a message in the following scenarios:
    • If there are no pipelines that are configured for your application or there are no branches in the target application.
    • If the value for the RMURL dynamic system setting is not valid.

You can click Switch to standard merge to switch to the Merge Branches wizard that you can use to merge branches into target rulesets. For more information, see Merging branches into target rulesets.

  1. In the Application pipelines section, from the Pipeline list, select the application for which the pipeline is configured into which you want to merge branches.
  2. In the Merge Description field, enter information that you want to capture about the merge.

This information appears when you view deployment details.

  1. In the Associated User stories/bugs field, press the Down arrow key, and then select the Agile Workbench user story or bug that you want to associate with this branch merge.

This information appears when you view deployment details.

  1. Click Merge.

The system queues the branch for merging, generates a case ID for the merge, and runs the continuous integration criteria that you specified.

If there are errors, and the merge is not successful, an email is sent to the operator ID of the release manager that is specified on the orchestration server.

The branch is stored in the development repository and, after the merge is completed, Deployment Manager deletes the branch from the development system. By storing branches in the development repository, Deployment Manager keeps a history, which you can view, of the branches in a centralized location.

If your development system is appropriately configured, you can rebase your development application to obtain the most recently committed rulesets after you merge your branches. For more information, see Rebasing rules to obtain latest versions.

Publishing application changes in App Studio

You can publish application changes that you make in App Studio to the pipeline. Publishing your changes creates a patch version of the application and starts a deployment. For example, you can change a life cycle, data model, or user interface elements in a screen and submit those changes to systems in the pipeline.

When you publish an application to a stage, your rules are deployed immediately to that system. To allow stakeholders to inspect and verify changes before they are deployed the stage, configure a manual task in on the previous stage. When the pipeline runs, it is paused during a manual step that is assigned to a user, which allows stakeholders to review your changes before they approve the step and resume running the pipeline.

If you do not have a product rule for the pipeline application, you must create one that has the same name and version as the pipeline application. For more information, see Creating a product rule by using the create menu.

Your pipeline should have at least a quality assurance or staging stage with a manual task so that you do not deploy changes to production that have not been approved by stakeholders.
You can submit applications to a pipeline when there is only one unlocked ruleset version in each ruleset of your application.
  1. In App Studio, do one of the following actions:
    • Click Turn editing on, and then, in the navigation pane, click Settings > Versions.
    • In the App Studio header, click Publish.

The Settings page displays the stages that are enabled in the application pipeline in Deployment Manager. The available stages are, in order, quality assurance, staging, and production.

It also displays the application versions that are on each system. The version numbers are taken from the number at the end of each application deployment name in Deployment Manager. For example, if a deployment has a name of "MyNewApp:01_01_75", the dialog box displays "v75".

  1. Submit an application from development to quality assurance or staging in your pipeline by completing the following steps:
    1. Click either Publish to QA or Publish to staging.
    2. Optional: To add a comment, which will be published when you submit the application, add a comment in the Publish confirmation dialog box.
    3. Optional: If Agile Workbench has been configured, associate a bug or user story with the application, in the Associated User stories/Bugs field, press the Down Arrow key and select the bug or user story.
    4. Click OK.

Each unlocked ruleset version in your application is locked and rolled to the next highest version and is packaged and imported into the system. The amount of time that publishing application changes takes depends on the size of your application.

A new application is also copied from the application that is defined on the pipeline in Deployment Manager. The application patch version is updated to reflect the version of the new rulesets; for example, if the ruleset versions of the patch application are 01-01-15, the application version is updated to be 01.01.15. A new product rule is also created.

In addition, this application is locked and cannot be unlocked. You can use this application to test specific patch versions of your application on quality assurance or staging systems. You can also use it to roll back a deployment.

  1. Optional: Make changes to your application in the unlocked rulesets, which you can publish again into the pipeline. If an application is already on the system, it is overridden by the new version that you publish.
  2. Optional: If you configured a manual step, request that stakeholders review and test your changes. After they communicate to you that they have completed testing, you can publish your changes to the next stage in the pipeline.
  3. Publish the application to the next stage in the pipeline by clicking the link that is displayed. The name of the link is the Job name field of the manual task that is defined on the stage.
If you do not have a manual task defined, the application automatically moves to the next stage.

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.

  1. On the candidate system, in Pega Platform, set the AutoDBSchemaChanges dynamic system setting to true to enable schema changes at the system level.
    1. In Dev Studio, search for AutoDBSchemaChanges.
    2. In the dialog box that appears for the search results, click AutoDBSchemaChanges.
    3. On the Settings tab, in the Value field, enter true.
    4. Click Save.
  2. 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.

For more information about the database/AutoDBSchemaChanges dynamic system setting, see Importing rules and data by using a direct connection to the database.

Completing or rejecting a manual step in a deployment

If a manual step is configured on a stage, the deployment pauses when it reaches the step, and you can either complete it 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:

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click one of the following links:
    • Complete: Resolve the task so that the deployment continues through the pipeline.
    • Reject: 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.

Managing aged updates

An aged update is a rule or data instance in an application package that is older than an instance that is on a system to which you want to deploy the application package. By being able to import aged updates, skip the import, or manually deploy your application changes, you now have more flexibility in determining the rules that you want in your application and how you want to deploy them.

For example, you can update a dynamic system setting on a quality assurance system, which has an application package that contains the older instance of the dynamic system setting. Before Deployment Manager deploys the package, the system detects that the version of the dynamic system setting on the system is newer than the version in the package and creates a manual step in the pipeline.

To import aged updates:

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Optional: Click View aged updates to view a list of the rules and data instances, which are in the application package, that are older than the instances that are on the system.
  3. Click the More icon and select one of the following options:
    • Click Overwrite aged updates to import the older rule and data instances that are in the application package into the system, which overwrites the newer versions that are on the system.
    • Click Skip aged updates to skip the import.
    • Click Deploy manually and resume to manually deploy the package from the Import wizard on the system. Deployment Manager does not run the Deploy step on the stage.

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:

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click the pipeline.
  3. Click Pause.

Stopping a deployment

To stop a deployment:

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click the More icon, and then click Abort.

Performing actions on a deployment that has errors

If a deployment has errors, the pipeline stops processing on it. You can perform actions on it, such as rolling back the deployment or skipping the step on which the error occurred.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click the More icon, and then click one of the following options:
    • Resume from current task Resume running the pipeline from the task.
    • Skip current task and continue Skip the step and continue running the pipeline.
    • Rollback Roll back to an earlier deployment.
    • Abort Stop running the pipeline.

Diagnosing a pipeline

You can diagnose your pipeline to verify that your pipeline is configured properly such as whether the target application and product rule are in the development environment, connectivity between systems and repositories is working, and premerge settings are correctly configured.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click Actions > Diagnose pipeline.
  3. In the Diagnostics window, review the errors, if any.
If the RMURL dynamic system setting is not configured, Deployment Manager displays a message that you can disregard if you are not using branches, because you do not need to configure the dynamic system setting.

Viewing merge requests

You can view the status of the merge requests for a pipeline. For example, you can see whether a branch was merged in a deployment and when it was merged.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. In the Development stage, click X Merges in queue to view all the branches that are in the queue or for which merge is in progress.
  3. In the Merge requests ready for deployment dialog box, click View all merge requests to view all the branches that are merged into the pipeline.

Viewing deployment logs

View logs for a deployment to see the completion status of operations, for example, when a data simulation is moved to the simulation environment. 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.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Perform one of the following actions:
    • To view the log for the current data simulation, click the More icon, and then click View logs.
    • To view the log for a previous data simulation, expand the Deployment History pane and click Logs for the appropriate data simulation.

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.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Perform one of the following actions:
    • To view the report for the current deployment, click the More icon, and then click View report.
    • To view the report for a previous deployment, expand the Deployment History pane and click Reports for the appropriate deployment.

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 – Frequency of new deployments 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:

  1. Do one of the following actions:
    • If the pipeline open, click Actions > View report.
    • If a pipeline is not open, in the navigation pane, click Reports. Next, in the Pipeline field, press the Down Arrow key and select the name of the pipeline for which to view the report.
  2. Optional: From the list that appears in the top right of the Reports page, select whether you want to view reports for all deployments, the last 20 deployments, or the last 50 deployments.

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.

  1. In the navigation pane, click Pipelines > Application pipelines.
  2. Click the Delete icon for the pipeline that you want to delete.
  3. Click Submit.

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 a separate product rule to manage a test application, the name of the product rule is the same as that of the product rule with _Tests appended to it.

If you are using Deployment Manager on Pega Cloud Services, application packages that you have deployed to cloud repositories are stored on Pega Cloud Services. To manage your cloud storage space, you can download and permanently delete the packages.

  1. Optional: If the pipeline is not open, in the navigation pane, click Pipelines > Application pipelines, and then click the name of the pipeline.
  2. Click the pipeline for which you want to download or delete packages.
  3. Click Actions > Browse artifacts.
  4. Click either Development Repository or Production Repository.
  5. To download a package, click the package, and then save it to the appropriate location.
  6. To delete a package, select the check boxes for the packages that you want to delete and click Delete.

Have a question? Get answers now.

Visit the Pega Support Community to ask questions, engage in discussions, and help others.