[Procedure]: Application migration using DevOps Pipeline in Pega 8.3.2 with Deployment Manager 4.6
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.
Create the product zip file using “Create product file” button at the bottom.
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:
Login to Dev system with gcsadminbkp operator, then create a product rule for your application migration using Application > Distribution > Package wizard.
Now login with DMReleaseAdmin operator.
Create a new pipeline using New/Add pipeline from Pipelines view.
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.
Note: This access group should be present in all the candidate systems with SysAdmin4 role.
In the Environment details, provide all the candidate systems urls along with the repositories.
If you’re using the branches in your development, then you can choose yes and provide the other details.
In this case I'm not using the branches so will select "No".
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.
On click of Finish, you should see the below screen to start the deployment on Development stage.
Provide the deployment details and submit.
The deployment failed because I dint allow the unlocked ruleset checkbox in my product rule.
You can see more information in the Deployment History,
I will go back to my product rule created earlier with gcsadminbk operator and enable the checkbox.
Now click on 3 dots and choose Abort.
After rerun the deployment, it failed with the below error in the log file which is accessed from Logs link in “Deployment History”.
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.
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,
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.
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.
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.
So, Abort the deployment task and go back to the pipeline mode to remove the test coverage and Validate test coverage steps for now.
Rerun the deployment process, noticed the below message as it has aged updates in my application. I will choose to skip the aged updates.
Finally, the application is deployed into the QA system and you can check the rules in the QA system by logging into it.
Hope this information might be helpful to you all.