Discussion

Ask the Expert - Pega Deployment Manager with Linoy Alexander

Join Linoy (@Linoy_Alexander) in this Ask the Expert (August 12th - 16th) session on Pega Deployment Manager.

About Linoy Alexander: Linoy is the Director of Developer Productivity with focus on DevOps and Testing solutions for Pega applications such as PegaUnit and Deployment Manager. Linoy has over 15 years of experience driving effective and intuitive tooling for developers with the last few years focused on the Pega platform. His work drives towards ensuring that industry standard practices can be easily achieved for anyone working with the Pega platform.

Message from Linoy Alexander: Hello all, I am passionate about enabling customers of the Pega platform, developing to adopt DevOps practices of Continuous Integration, Delivery and Testing. I can answer questions about Deployment Manager but also more broadly about DevOps practices as well. I look forward to all your questions and enabling you on your DevOps journey.

Ask the Expert Rules

  • Follow the Product Support Community's Community Rules of Engagement
  • This is not a Live Chat - Linoy will reply to your questions over the course of this week
  • Questions should be clearly and succinctly expressed
  • Questions should be of interest to many others in the audience
  • Have fun!

Group Tags

Comments

Keep up to date on this post and subscribe to comments

Pega
August 5, 2019 - 2:04am

We use Jenkins to move our branches to our SOR instance. When we initiate branch merge locally it will trigger a Jenkins Job, which will initiate a SUT instance (a container) to run several smoke tests. Only when the smoke tests pass we merge it to SOR.

Is it possible to achieve the same using Deployment manager. I mean check and then merge, not merge and then check.

August 8, 2019 - 12:30am
Response to haria

 

The workflow you are referring to here is not supported (yet) by Deployment Manager. This is planned as part of a future release with direct support for provisioning container based deployments with custom gated validation.  

In the meantime, Deployment Manager does support gated merges (Pre-merge validation) with the ability to enforce guardrail compliance scores, PegaUnits and the review status. This does provide plenty of value if you leverage PegaUnit tests which is highly recommended anyway.  See the help for how to configure this : https://community.pega.com/knowledgebase/using-deployment-manager-44x#specifying_merge_options

 

August 12, 2019 - 6:40am

Hi,

Currently, the application pipeline in Deployment Manager can be triggered on Branch Merge or manually. Is there a way to trigger the pipeline from an external tool such as Jira or Rally?

Regards,
Namitha.

August 12, 2019 - 12:42pm
Response to NAMITHAPISHE

Thanks for your question Namitha.

Starting in 4.4, there are publicly REST APIs that have been exposed to manage key aspects of the pipeline. These APIs should allow you to integrate the trigger from any tool of choice, including Jira or Rally as you intend. There is complete swagger documentation available and the following resources are available (with a sampling of the actions available)

  • pipelines
    • Start deployments :      POST /pipelines/{pipelineid}/builds
    • Get the status of a deployment :     GET /pipelines/{pipelineid}/builds/{buildid}

       

  • mergerequests
    • Get information about a merge request :     GET /mergerequests/{mergerequestid}

Below is a screenshot of the swagger document for a better idea.

 

 

 

August 13, 2019 - 12:51am
Response to Linoy Alexander

Thanks a lot for your quick response Linoy. I shall try using the REST API to trigger the pipeline.

Regards,
Namitha.

August 12, 2019 - 7:26am

Hi,

Currently, the application pipeline in Deployment Manager can be triggered on Branch Merge or manually. Is there a way to trigger the pipeline from an external tool such as Jira or Rally?

Regards,

Madhu Sekhar

August 12, 2019 - 12:43pm
Response to MadhuSekharK

See my response to Namitha earlier about the REST APIs that are available starting in DM version 4.4 .

August 12, 2019 - 1:55pm

Hello,

While upgrading Pega Deployment Manager, after importing the rulesets I tried to change the version of  PegaDeploymentManager to 4.4, but it threw an error while saving saying that as follows

pxDeploymentManagerStudio is not a Valid Record for use by this Rule.

Can you help me on this.?

Thanks,
Hemanth.

August 12, 2019 - 4:10pm
Response to HemanthKumarN7035

Hemanth, you are likely seeing this because you are trying to save this access group without the DeploymentManager application in the application stack. This should fix the problem you are seeing.

 

August 12, 2019 - 4:55pm

Thanks. We missed that one. It is fixed now.

August 13, 2019 - 2:47am

Hi Linoy,

 

If we add a manual step in the pipeline, the approver gets the option either to Complete the task or Reject the task as shown below. 

 

But as part of our requirement we want to display a confirmation popup on click of Complete Task/Reject Task. Looks like all the rules related to this are final. Can you please let us know if there are any extendable rules available to implement the change?

 

Pega Version- 07.04.01

Deployment Manager Version- 03.04.01

August 13, 2019 - 12:32pm
Response to loknathc

Currently this is not possible as you have noticed. We have plans to support more advanced manual approval workflows and experiences in the future. We will take your feedback here and add it to the backlog. 

In the meantime, once thing you could do is to leverage the email approval experience, if you wanted to documented trail and perhaps this can give you the experience you are looking for as a workaround.  You can set it up so that the users have to do the approval only through email notification and not through the Deployment Manager portal, either by restricting access to the orchestrator or by leveraging the roles and privileges features in DM 4.x series. You can get a sense for it in the Whats New video published a while back.

August 13, 2019 - 9:18am

Hi Linoy,

 

We need to use JFrog repositoies for PEGA Deployment Manager.

We have a question regarding how to specify the JFog artifactory folder in Deployment Manager configuration? In a JFrog repository, it can have multiple folders. So the JFrog repository structure is like repository-aaa/xxx, repository-aaa/yyy, and repository-aaa/zzz. We want to put the zip file of application xxx to repository-aaa/xxx, put the zip file of application yyy to repository-aaa/yyy and so on. But I cannot find a place in Deployment Manager configuration to specify this. So what is the mechanizm of PEGA Deployment Manager? Will all the zip files of various applications be put into one repository without the ability to specify the sub folders? Or I missed some configuration points to do so?

Thanks!

August 13, 2019 - 4:44pm
Response to yingq689

Currently Deployment Manager does not support custom folder hierarchies per application or pipeline. That noted there are a couple of options that you could consider.  

  • Deployment Manager by default organizes by application-version as you can see in the screenshot below
  • You can create a repository instance per application where the key is the folder that matches the application. Therefore application xxx, will get a repository instance where the key will be xxx which maps to the repository-aaa/xxx location. The pipelines for each of the applications should just refer to the specific repositories instances configured.

Hope that helps

 

August 14, 2019 - 11:30am
Response to Linoy Alexander

Hi Linoy:

    Thanks a lot for your help!

Regards!

Ying

August 13, 2019 - 2:00pm

Hi Linoy,

  I'm doing a POC for Deployment Manager. I use my localhost as the Deployment Manager. Now when the development candidate tries to connect to the Deployment Manager, it uses localhost in the URL so the "Candidate system was not able to connect to orchestrator" error is thrown. Is there any place in development candidate that I can specify the Deployment Manager URL so that it can use the real IP address instead of localhost?

Thanks!

August 13, 2019 - 2:35pm

Hi Linoy,

   The localhost issue has been solved. Please ignore that question.

   Could you please answer my question about artifactory sub folder I posted above?

Thanks!

August 13, 2019 - 3:56pm
Response to yingq689

Glad to hear that it has been resolved. Just for reference we do recommend that https://localhost" values not be used for the target environment urls. It should be a direct IP address, load balanced URL or appropriate host URL.

August 15, 2019 - 4:03pm

Hello Linoy,

When we created the pipeline and started the deployment process, it shows the process as ONGOING and it never ends but the artifact was saved in the repository but pega didn't say anything about the repository being saved, it just keeps running.
Is there any configuration that needs to be done.

I just configured the Pipeleine to generate artifact and save it in repository.
We configured S3 repository for our artifacts.

Attaching the screenshots.

Thanks.

August 16, 2019 - 9:18am

In this case, I think it would be helpful to inspect the logs of the development system where the artifact generation, application export action is taking place. You should check and see if there are any exceptions in the log as part of the export process. Other troubleshooting tips, double check that the diagnostics all pass completely for the pipeline, which you can execute from Actions-->Diagnostics.

August 19, 2019 - 12:18am

Thank you all for participating in the session. For further help there are some FAQ guides that have been published that can be good reference for the future : https://community1.pega.com/community/pega-support/question/deployment-manager-faq-and-troubleshooting-guideshttps://community1.pega.com/community/pega-support/question/deployment-manager-faq-and-troubleshooting-guides