Expand my Community achievements bar.

SOLVED

Best way to deliver incremental releases

Avatar

Level 3

Hi everyone,

I have inherited a project in which they way release versions are delivered is a little bit iffy: Developers identify the files they have changed with respect to the previous release, then they MANUALLY create a package in Package Manager by adding all the filters one by one. The reason they have been doing this is because another department is in charge of releasing that new content to live version (and it will be like that for now)

On the other hand, I checked the package size created when deploying with Maven, that is adding ALL code from /apps, /etc/clientlibs/, /etc/designs, java bundles, etc. and it's over 100MB, I guess the previous developers were fearful of uploading releases very often with such big packages and overloading the server capacity (???)

So my question is, given this scenario -100MB package and release deliveries around once a week- what is the right approach to take?

Thanks in advance

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Dear Jose,

Congratulations on your inheritance! This is very domain specific to your implementation.

Generally it is normal to install ALL of the code in one package, then installing a lot of small fixes, over fixes, over fixes.... Easier to debug and track problems when you know that everything in one package is the latest tagged version.

Essentially, when you do maven build it is using vlt(you specify filters), it's is also creating package, but with ALL of the code. Which means there is less overhead to remember to install all of those small patches(less dependency on devs). 

Surely, it's easier to have everything rather then some little diffs of code. You can always remove old versions of zip's, so it should not be a problem to install 100MB. AEM handles 100MB of code pretty well.

This highlights the problems that might occur pretty well: https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/ ;)

Said all of this, daycare generally provides small hot fixes to fix a problems in their product. At the end of the day it's what your devs are most comfortable with and happy with.

Kind Regards,

Peter

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

Dear Jose,

Congratulations on your inheritance! This is very domain specific to your implementation.

Generally it is normal to install ALL of the code in one package, then installing a lot of small fixes, over fixes, over fixes.... Easier to debug and track problems when you know that everything in one package is the latest tagged version.

Essentially, when you do maven build it is using vlt(you specify filters), it's is also creating package, but with ALL of the code. Which means there is less overhead to remember to install all of those small patches(less dependency on devs). 

Surely, it's easier to have everything rather then some little diffs of code. You can always remove old versions of zip's, so it should not be a problem to install 100MB. AEM handles 100MB of code pretty well.

This highlights the problems that might occur pretty well: https://dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/ ;)

Said all of this, daycare generally provides small hot fixes to fix a problems in their product. At the end of the day it's what your devs are most comfortable with and happy with.

Kind Regards,

Peter

Avatar

Administrator

Adding to the answer given by ,

Please refer to this post as well :- 

1. http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manage...

// Automatic increment in build release verison

 

2.  http://www.wemblog.com/2011/11/how-to-use-svn-with-vlt.html

// How to use SVN (Subversion ) with VLT in CQ / WEM

 

3.  http://experience-aem.blogspot.in/2015/06/aem-continuous-integration-with-jenkins.html

// AEM - Continuous Integration with Jenkins

 

I hope this would help you.

Thanks and Regards

Kautuk Sahni



Kautuk Sahni