Expand my Community achievements bar.

SOLVED

AEM cloud, how to deploy only dispatcher changes without breaking existing fullstack pipeline?

Avatar

Level 9

Our app takes around 2 hours for Adobe to build and deploy to a non prod env.

 

The vhost files are somewhat complex, and apache rewrite rules easy to get wrong.  Most of it we do by trial and error.

 

As build takes so long, we are lucky to try 3 one line vhost changes in 24 hour period, which makes simple vhost change development stretch to weeks.

 

We heard that there is a way to deploy only dispatcher changes, which presumably is quicker.

 

However, if we "add pipeline" and select "web tier config" it says:

 

"your existing Full Stack pipeline will change

Creating a Web Tier config will cause the current web tier configuration in the Full Stack pipeline to be ignored"

 

This makes no sense - why would adding pipeline to just deploy dispatcher changes (manual trigger) break our full stack deployment pipeline?  We should be able to run either.   When the devs push changes, it could be either dispatcher, code or both so the full stack one has to not change.

 

 

 

 

 

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi @TB3dock ,

 

If you configure a web-tier pipeline, It won't break your existing FS pipeline, it only means that it is going to ignore the web-tier module (deployment), which in your case would be the dispatcher module of your project.

 

You can still run both of them, In this case:-

1.) Web-tier would deploy dispatcher/web server-related configurations (your dispatcher module in the codebase)

2.) Full stack would deploy the rest of the code (unless the front-end pipeline is configured).

 

This is mentioned here:-

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

 

Since you mentioned the complex setup of your configuration, I would also recommend you segregate your codebase as mentioned here:-

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

 

In your case, a separate repo for web-tier configuration for a better CI/CD process would also help you with better source control management, You could explore this approach if you haven't already.

 

Hope this helps!

 

Regards,

Nitesh

View solution in original post

3 Replies

Avatar

Community Advisor

@TB3dock  You can use webtier deployment pipeline to push only dispatcher code in AEM cloud. Reffer to below link

 

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

 

Avatar

Correct answer by
Employee Advisor

Hi @TB3dock ,

 

If you configure a web-tier pipeline, It won't break your existing FS pipeline, it only means that it is going to ignore the web-tier module (deployment), which in your case would be the dispatcher module of your project.

 

You can still run both of them, In this case:-

1.) Web-tier would deploy dispatcher/web server-related configurations (your dispatcher module in the codebase)

2.) Full stack would deploy the rest of the code (unless the front-end pipeline is configured).

 

This is mentioned here:-

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

 

Since you mentioned the complex setup of your configuration, I would also recommend you segregate your codebase as mentioned here:-

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

 

In your case, a separate repo for web-tier configuration for a better CI/CD process would also help you with better source control management, You could explore this approach if you haven't already.

 

Hope this helps!

 

Regards,

Nitesh

Avatar

Level 1

Try setting up local dispatcher module using docker setup as mentioned here 
https://experienceleague.adobe.com/docs/experience-manager-learn/cloud-service/local-development-env... 

You can setup a locale host file to mimic the domain you are trying to set up the rewrite rules for. Using this approach you can follow trial and error approach to test the rules on your system before going into deployment and waiting foe builds.

Hope this helps. 

 

Thanks