Expand my Community achievements bar.

SOLVED

AEMasCS Build & Deploy Pipelines

Avatar

Level 1

Hello everyone - We are moving from on-prem to the cloud (AEMasCS). Have a general question with regard to repo management and deployment, and inputs/suggestions from the community. 

We have X number of sites and each site has its own repository. In the current on-prem situation, we have different pipelines that build these repositories and deploy to prod as needed based on their own schedules/release timelines. But now with AEMasCS, I see that all the repositories need to be pushed under one parent repo and we need to build & deploy together (if I understand it correctly), which means all the repositories need to be built and deployed at once. In practice that will not work for us, is there a way we can segregate the build and deployments based on the repository? Can we have a different sub-set of pipelines?

Thank you

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

@nvundavalli Multiple git repo is available on the cloud manager now, you can add repositories for each site.

 

As you can only have a single pipeline for production deployment you need to change the repository for the pipeline before triggering the build on the cloud manager for the site you want to deploy. However, please make sure there is no discrepancy between the dependencies across your repositories. This might result in build failure or show some unexpected behavior on the cloud.

 

If the repositories are interdependent I would still recommend bringing them under the same parent module. (Or use git-submodules)

 

Hope this helps.

View solution in original post

5 Replies

Avatar

Community Advisor

@nvundavalli AEM Could manager aggregates all the packages from different multi tenant repos and consolidate it into a single package. The contents from multiple git repositories need to be mapped to different directories within the single Cloud Manager git repository. Unfortunately, there is a no way currently to segregate the builds and deployments from different repos and deploy individually using AEM cloud manager.

 

Here are some articles that you can refer to merge all your different repos and consolidate into a single cloud manager git repo.

 

https://experienceleague.adobe.com/docs/experience-manager-cloud-service/content/implementing/using-... 

 

https://varun-mitra.medium.com/aem-as-cloud-service-working-with-multiple-source-git-repositories-c0... 

https://www.comwrap.com/en/blog/multi-tenancy-with-adobe-cloud-manager.html 

 

Hope this helps.

Avatar

Correct answer by
Employee Advisor

@nvundavalli Multiple git repo is available on the cloud manager now, you can add repositories for each site.

 

As you can only have a single pipeline for production deployment you need to change the repository for the pipeline before triggering the build on the cloud manager for the site you want to deploy. However, please make sure there is no discrepancy between the dependencies across your repositories. This might result in build failure or show some unexpected behavior on the cloud.

 

If the repositories are interdependent I would still recommend bringing them under the same parent module. (Or use git-submodules)

 

Hope this helps.

Avatar

Level 1

Hi @nitesh_kumar  - appreciate your response. Can you pls point me to the documentation regarding “multiple git repo is available on the cloud now”.

Avatar

Community Advisor

@nvundavalli unfortunately no, AEM cloud works different than On-Prem, AMS..its a dynamic architecture, everytime you do a deployment it creates fresh set of AEM instances and have a concept called golden master which is a combination of latest adobe instance + full set of latest appliance code.. so with this you can't install bits and pieces I.e module by module or app by app.. everytime deployment has to be complete deployment.

But different git sync process or with cloud manager multiple repo concept you can control if your latest changes from other repos are not pushed to Adobe Git while you plan for deployment of changes from only one git/module.