Expand my Community achievements bar.

SOLVED

Building Internally, Pulling From Private Repository & Deploying via Cloud Manager to AEM as CloudService or AMS Managed environment

Avatar

Level 2

We have recently implemented the below successfully with our partner sandbox AEM as a Cloud Service environment

 

Untitled.png

 

1. Built project A & B with internal jenkins & deployed them to our internal nexus

2. Created a new wrapper project C with an all package only which embeds project A & B's all artifacts

3. Sync'd only the project C repo with Cloud Manager repo - do a build

 

We were able to successfully deploy project A & B onto AEM in the cloud w/o ever having to commit the code for Project A & B into Cloud Manager git repo. This is game changing because this allows customers to maintain their multiple repositories and, existing build processes and still leverage cloud manager pipeline to build and deploy their privately built artifacts to AEM. 

 

The project C All pom screenshot below. 

 

Untitled(1).png

 

 

My question - is this allowed in real world customer AMS environments? Given the code for Project A & Project B was never sync'd to Cloud Manager git repo it isn't scanned for security etc. so I am wondering if Adobe AMS or Cloud Manager allows this in real world production customer environments? Is anyone out there doing something like this? 

 

I would like to recommend this and use this approach where it's not possible for merge multiple tenant repo's into a single repo or need to install legacy AEM projects / packages but, not sure what's Adobe / AMS official position on this. 

 

Thanks in advance for sharing any tips / pointers / recommendations.  

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

With CloudManager and AMS it's most likely working well, because there you have much more active control over the AEM itself; especially you collaborate with the CME regarding product updates, service packs and such.

 

With AEM as a Cloud Service the siituation is different; and while technically it still might be possible to do so, the system cannot guarantee that your artifacts, which are compiled on your own systems against some version of the AEM API, will deploy correctly on AEM as a Cloud Service. This also prevents Adobe from making well informed decisions about API changes, because if you are using some rarely used API, Adobe cannot know that.

 

Another more operational topic is that you include a deployment dependency into the build, which you control. Meaning that the build can break anytime if your infrastructure (Nexus/Artifactory) is not available.

View solution in original post

4 Replies

Avatar

Level 9

Hello,

 

first of all thanks for sharing that you were successfully able to deploy your local git repo via using cloud pipeline.

 

now, as per my understanding the deployment workspace will be created based on GIT repo so in your case the project C git repo will be treated as separate workspace then to your project a & b. and i am not sure if will be possible to refer projects from different repo on cloud for build

 

thanks. 

Avatar

Level 2

Hi Pawan,

 

Thanks for your message. We have the above already working, so the question is not if we are able to refer projects from different repo.

 

The questions is we are some what circumventing security/code scanning of repo A & repo B so is that an issue with AMS or AEM as a cloud service. 

Avatar

Correct answer by
Employee Advisor

With CloudManager and AMS it's most likely working well, because there you have much more active control over the AEM itself; especially you collaborate with the CME regarding product updates, service packs and such.

 

With AEM as a Cloud Service the siituation is different; and while technically it still might be possible to do so, the system cannot guarantee that your artifacts, which are compiled on your own systems against some version of the AEM API, will deploy correctly on AEM as a Cloud Service. This also prevents Adobe from making well informed decisions about API changes, because if you are using some rarely used API, Adobe cannot know that.

 

Another more operational topic is that you include a deployment dependency into the build, which you control. Meaning that the build can break anytime if your infrastructure (Nexus/Artifactory) is not available.

Avatar

Level 2

Hi, 

 

Ok, so for AMS based customers you think this approach is ok to recommend? 

 

For the AEM as a cloud services, yes completely understand the caveats you've outlined.