We're currently managing our application deployments through Pega Deployment Manager so that each merge of a branch results in a deployment to QA (if criteria are met). We'll soon extend this to our Staging and Prod environments once they're available.
The part we're struggling with is components. We've built several components to support some isolated, reusable functionality. Currently, the components are simply included in the product rule of the Application they are defined in and thus deployed through the main app pipeline.
What I would like to do is define a separate pipeline for each of those components that tests and packages the component and puts the resulting artefact in the repository, based on their own product rule or, probably even better, using the same mechanism as the "package" function in Dev Studio. Now, on the pipeline of our Application, I want to define the components as dependencies so that on deployment it resolves the dependencies and deploys the correct versions of the components as needed. I know this can be done with built-on Applications, but don't see the equivalent for components yet.
Can this be done in PDM already? For building pipelines and configuring dependencies I seem to only be able to select Applications, not components.
(Would have liked to post this in the Ask the Expert discussion with @RyanFeeney but saw that thread too late)
You're structuring your deployments as I'd hope for Pega Applications to be built and deployed, but at this moment components aren't directly supported by deployment manager. I had nearly the same requirements as you for our Nexus2 component which we've posted to the exchange.
What I did was create an application that only has the nexus component and ruleset in it. This was helpful for a few reasons, I could reference it on a DM pipeline and I could also give it a user friendly name that didn't include the creation timestamp. It also allowed branch development for the component which automatically generates a new package upon each merge.
I didn't have the need to package another application with my component as a dependency, but you should be able to use the same the component application marked as a dependency.
This is the direction I see Deployment Manager going, but we want to see an increase in adoption of components before we invest in it. It's great to hear that you're getting use out of them.
Thanks for the reply. Appreciate the insight and it's great to be reassured we're following the right approach. We really see the added value of using components so I hope PDM will gain the discussed functionality for components soon.