Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM Deployments and Jenkins

Avatar

Level 10

Hi all,

In my projects, we have integrated Eclipse with AEM Author, so that when any Java code changes are saved in Eclipse, they are replicated to AEM.

Also, when we wanted to move the code to other environments, we manually create packages and deploy.

1. What are the other ways of deployments? How these deployments are handled?

Jenkins is a continuous integration tool (CI) for automating builds.

2. Do we need to write scripts for Jenkins deployment? If so, using what language? Java script or Maven or Ant or so?
Probably for most of the scenarios, it is just a configuration.

3. When do we need to write scripts for Jenkins, as opposed to just configuration?

4. If we want to simultaneously deploy code/content to more than one environment, like Test, Stage, Does Jenkins perform the task?

Appreciate your responses.

Thanks,

Rama.

1 Accepted Solution

Avatar

Correct answer by
Employee

1. I agree that CI is the de facto standard, but if we look at not having Jenkins and not manually building and installing packages, what are our options?

2. Do we use any scripting, other than Maven? If so, what scripting is preferred when?

4. It makes sense not to automate deployments to staging and production. But if want to automate it to Dev and Test concurrently, could this be done?

Hi Rama,

using Maven is your best option as that is the way probably all projects are build and used to deploy AEM. You can deploy packages to AEM  locally or to a remote server. If you were to try and use something else you would have to write it yourself.

Deploying to Dev and Test is entirely possible, using a CI makes it easier to do this. With a CI you can also store all the builds that were deployed, so you can revert or test a specific build. 

Here are some links about CI and AEM  and the reasons for doing it[0][1]

Regards,

Opkar

[0]https://www.linkedin.com/pulse/20141205110128-5198755-continuous-delivery-on-adobe-aem

[1]http://www.slideshare.net/olimination/continous-delivery-with-cq

View solution in original post

6 Replies

Avatar

Level 10

Hi Opkar,

I already got that link.

But I could not get answers to my specific queries.

Also, my first question is not on Jenkins. It is mainly on what all means of deploying AEM code to different environments are available (other than Packages and Jenkins).

Thanks,

Rama.

Avatar

Employee
1. What are the other ways of deployments? How these deployments are handled?

Jenkins is a continuous integration tool (CI) for automating builds.

2. Do we need to write scripts for Jenkins deployment? If so, using what language? Java script or Maven or Ant or so?
Probably for most of the scenarios, it is just a configuration.

3. When do we need to write scripts for Jenkins, as opposed to just configuration?

4. If we want to simultaneously deploy code/content to more than one environment, like Test, Stage, Does Jenkins perform the task?

Hi Rama,

Q1 you should always use some kind of source control which is used to build the packages if you are deploying to different environments, Continuous Integration is the standard industry best practice. So for deploying, you always build code based on a tag/label, so you can recreate the build if needed. 

Q2 The link I sent explains how to do it in Jenkins, you would call the maven build command to build the code.

Q3 is answered in the link

Q4 Again you can set up different configurations in Jenkins to deploy to different environments, Dev is usually automatic, the other environments are manually triggered.

Regards,

Opkar

Avatar

Level 10

Thanks to your replies, I got more knowledge on this subject.

1. I agree that CI is the de facto standard, but if we look at not having Jenkins and not manually building and installing packages, what are our options?

2. Do we use any scripting, other than Maven? If so, what scripting is preferred when?

4. It makes sense not to automate deployments to staging and production. But if want to automate it to Dev and Test concurrently, could this be done?

Appreciate your knowledge and more its sharing.

Thanks,

Rama.

Avatar

Correct answer by
Employee

1. I agree that CI is the de facto standard, but if we look at not having Jenkins and not manually building and installing packages, what are our options?

2. Do we use any scripting, other than Maven? If so, what scripting is preferred when?

4. It makes sense not to automate deployments to staging and production. But if want to automate it to Dev and Test concurrently, could this be done?

Hi Rama,

using Maven is your best option as that is the way probably all projects are build and used to deploy AEM. You can deploy packages to AEM  locally or to a remote server. If you were to try and use something else you would have to write it yourself.

Deploying to Dev and Test is entirely possible, using a CI makes it easier to do this. With a CI you can also store all the builds that were deployed, so you can revert or test a specific build. 

Here are some links about CI and AEM  and the reasons for doing it[0][1]

Regards,

Opkar

[0]https://www.linkedin.com/pulse/20141205110128-5198755-continuous-delivery-on-adobe-aem

[1]http://www.slideshare.net/olimination/continous-delivery-with-cq

Avatar

Level 10

Perfect Opkar.

As a Solution Architect, I got all the knowledge I need on CI and Jenkins.

Thanks a million to you and AEM Forum.

Rama.