Discussion

79
Views
Mahesh Midthuru Member since 2015 4 posts
PEGA
Posted: 5 months ago
Last activity: 5 months 1 week ago

[Procedure]: Application migration using DevOps Pipeline in Pega 8.3.2 with Deployment Manager 4.6

Hi All,

I recently implemented the Application migration using DevOps Pipeline with the help of 2 Pega 8.3.2 local instances using Deployment Manager 4.6. So sharing the steps that has been followed to achieve it along with the issues I had faced during this process in Community, so that it can help many.

Details:

 

Step 1: Installing or upgrading Deployment Manager:

  1. Download Deployment Manager 4.6 from Deployment Manager Market Place - https://community.pega.com/marketplace/components/deployment-manager
  2. Extract it and in the Rules folder you can find the below files,
    • PegaDevOpsFoundation_8.1.zip
    • PegaDeploymentManager_8.1.zip
  3. In Dev system, import both the zip files.
  4. In Candidate system, import the PegaDevOpsFoundation_8.1.zip file.

 

Step 2: Running post-upgrade steps:

As this is not an upgrade, we don’t need to perform this section. If you are upgrading from the previous Deployment Manager, then should follow the steps mentioned in the reference documentation.

 

Step 3: Configuring systems in the pipeline:

  1. Configuring authentication profiles on the Dev system(Instance1) and candidate system(Instance2):
    • On the Dev system, the following rules are available:
      • Open DMReleaseAdmin operator record, enable it and set its password as "install".
      • Open DMReleaseAdmin authentication profile and set its password as "install".
      • Open DMAppAdmin operator record, enabled it and set its password as “install”.
      • Operator Security tab information
      • Open DMAppAdmin authentication profile and set the DMAppAdmin operator password which will be configured in the candidate systems(Instance2).
    • On Candidate systems, the following rules are available:
      • Open DMAppAdmin operator record, enable it and set its password as “install”.
      • Open DMReleaseAdmin authentication profile and set its password as “install”.
  2. Configuring the Dev/Orchestration system:
    • Login to your application using gcsadminbkp.
    • Open your application definition and add the PegaDevOpsFoundation application to your application stack.
    • Optional: If your system is not configured for HTTPS, verify that TLS/SSL settings are not enabled on the api and cicd service packages from Records > Integration-Resources > Service Package.
    • api service package
    • cicd service package
    • Create DSS to store the OrchestratorURL with the Dev system url as shown below,
    • OrchestratorURL DSS in Pega-DeploymentManager owning ruleset
  3. Configuring candidate systems:
    • If your system is not configured for HTTPS, verify that TLS/SSL settings are not enabled on the api and cicd service packages from Records > Integration-Resources > Service Package.
  4. Creating repositories on the Dev and candidate systems:
    • Dev system:
      • Login with gcsadminbkp operator and add “PegaRULES:RepositoryAdministrator” role in the access group.
      • Create a repository rule as follows,
      • Repository rule creationCreate Authentication profile of Basic type,
      • Basic type authentication profile
      • Create a Product rule with this repository, authentication profile and application administrators access group(this should be present in all candidate systems in pipeline configuration) instances,
      • Product rule
      • DATA-REPOSITORY DMREPOSITORY

        DATA-ADMIN-SECURITY-AUTHENTICATIONPROFILE JFROGDEVAUTH

        DATA-ADMIN-OPERATOR-ACCESSGROUP MMAPP:ADMINISTRATORS
      • Create the product zip file using “Create product file” button at the bottom.
    • Candidate system:
      • Login with DMAppAdmin operator and import the zip file into all the candidate systems.
      • Open the DMRepository rule and perform the Test connectivity to check the status.

 

Step4: Configuring an application pipeline:

  1. Login to Dev system with gcsadminbkp operator, then create a product rule for your application migration using Application > Distribution > Package wizard.
    • Product rule

  2. Now login with DMReleaseAdmin operator.

  3. Create a new pipeline using New/Add pipeline from Pipelines view.

    • Pipeline creation

  4. You should see the list being populated as soon as you provide the Dev environment url. For cloud clients the Development environment url will be auto populated by reading the urls from S3 config file.
    • Pipeline creation
    • Note: This access group should be present in all the candidate systems with SysAdmin4 role.
  5. In the Environment details, provide all the candidate systems urls along with the repositories.

    • Pipeline creation - environment details

  6. If you’re using the branches in your development, then you can choose yes and provide the other details.

    • Pipeline creation - Merge policy

    • In this case I'm not using the branches so will select "No".

  7. In Model pipeline view, only Quality Assurance stage is being selected as we have only QA instance as the candidate system and other 2 stages are unchecked. Also, you can un-check the “Production ready” checkbox as we don’t have production candidate system.
    • Pipeline - Model pipeline
  8. On click of Finish, you should see the below screen to start the deployment on Development stage.
    • Pipeline depoyment screen
  9. Provide the deployment details and submit.
    • Deployment process start details
  10. The deployment failed because I dint allow the unlocked ruleset checkbox in my product rule.
    • Deployment failure
    • You can see more information in the Deployment History,
    • Deployment failure
  11. I will go back to my product rule created earlier with gcsadminbk operator and enable the checkbox.
    • Enabling unlocked ruleset versions checkbox in product rule
  12. Now click on 3 dots and choose Abort.
    • Abort operation
  13. After rerun the deployment, it failed with the below error in the log file which is accessed from Logs link in “Deployment History”.
    • Error message in log
    • It is complaining about my CustomerData Data-Admin-DB-Name rule. As the CustomerData database information will be different for each instance, I will just remove the below instance in my product rule.
    • Removing CustomerData record from Product rule
  14. Starting deployment again by aborting the current process in QA stage using 3 dots. This time it failed with the guardrails error as shown below,
    • Deployment process guardrail error
    • It is failing because I have the guardrails compliance score set to 97 by default in my pipeline. So, I need to fix the guardrails warning in my application or change the compliance score to lower value.
  15. In this case I will reduce the guardrails score to 60 from Actions > Pipeline model > Quality Assurance stage > Check guardrail compliance setting > change compliance score then save the pipeline.
    • Changing Compliance score in my scenario
  16. After this change rerun the deployment process and this time it failed at the test coverage step as I don’t have any test cases to perform.
    • Failure due to test coverage failure as we dont have test cases
  17. So, Abort the deployment task and go back to the pipeline mode to remove the test coverage and Validate test coverage steps for now.
    • Deleting test coverage and validate test coverage steps
    • Quality Assurance stage steps
  18. Rerun the deployment process, noticed the below message as it has aged updates in my application. I will choose to skip the aged updates.
    • Aged updates in the application, so need to take action manually. preferred to skip aged updates
  19. Finally, the application is deployed into the QA system and you can check the rules in the QA system by logging into it.
    • Completed deployment

 

Hope this information might be helpful to you all.

 

Thanks,

Mahesh Midthuru

Pega Platform 8.3 DevOps Low-Code App Development Installation and Deployment Cross-Industry Solutions Engineer Developer Knowledge Share
Share this page LinkedIn