AEM - Continuous Integration with Jenkins


For Source Code Management using GIT (Bitbucket) check this post

Jenkins is a continuous integration tool (CI) for automating builds. In simple terms, developers in a AEM project code a feature or bugfix, test on their local instances, commit/push to a central SVN or GIT repo; continuous integration tools like Jenkins kick off, build packages and deploy to some common AEM test/integration servers. Quality team can then test the feature/bug fix on AEM integration server

In a nutshell...

1) Developer starts working on a feature/bug-fix, marks the story in JIRA as In Progress
2) Tests the code on local AEM
3) Commits/Pushes change to the SVN/GIT repo. For source code management using GIT check this post
4) A configured Jenkins Hook in GIT can kickoff the build, deploy packages to AEM Integration Server. When too many changes are being pushed to the repo, admin may choose to manually start builds through Jenkins console (Jobs), to refresh integration environments.
5) Developer moves the story to QA
6) Quality team picks up the story and tests code changes on Integration Server.

Build Demo

Install Jenkins

1) Get Jenkins for Windows here

2) Run install with default settings. For more refined steps check this link

2) When completed, service Jenkins is available and a browser window opens up with url http://localhost:8080/

Configure Jenkins Global Security

1) After installation, by default, no authentication is required for accessing jenkins console. So it allows anyone create a job, right away

2) To secure Jenkins, enable Global Security (Manage Jenkins -> Configure Global Security) http://localhost:8080/configureSecurity/

3)  A Jenkins internal database of users can be created by selecting Jenkins’ own user database option or connect to organization LDAP. In the following example, Jenkins was connected to ldap on localhost:389 (a sample OpenLDAP database). So any logged-in user can modify the configuration, create jobs etc, a more fine grained access control can be set by selecting Matrix-based security

4) Two sample users eaem, nalabotu were created in local OpenLDAP database

JDK, GIT, Maven Configuration

1) Access the configuration screen, Manage Jenkins -> Configure System (http://localhost:8080/configure)

2) Configure the JDK used for compiling sources

3) Configure the GIT plugin to download sources from remote repository. For this post, use sample repo experience-aem-intranet created in this post

4) Add the path to GIT executable on file system, used for checking out source code

5) Configure MAVEN install, required for running any typical AEM project build

6) Restart Jenkins service

Creating Build Jobs

1) Create new job (If not already logged-in, login as user, say eaem)

2) Enter name experience-aem-intranet-portal and select the project type Maven

3) Configure the GIT repository url and credentials. The Branches to build specifies which branch of the repo should be downloaded and compiled, here its develop

4) Specify the relative path of pom.xml; the goal autoInstallPackage builds, installs packages to provided CQ instance, here its localhost

                 clean install -X -P autoInstallPackage -Dcrx.port=4502 -Dcrx.user=admin -Dcrx.password=admin -Dvault.timeout=30

5) Run the build by clicking Build Now

6) Build creates a workspace with sources downloaded from remote GIT repo

7) Packages are Installed on AEM running on localhost:4502

8) If the GIT repo can communicate with Jenkins, a web hook can be configured in GIT to trigger a build automatically when there is a commit on build branch say develop


  1. Replies
    1. IEEE Final Year Project centers make amazing deep learning final year projects ideas for final year students Final Year Projects for CSE to training and develop their deep learning experience and talents.

      IEEE Final Year projects Project Centers in India are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation.

      corporate training in chennai corporate training in chennai

      corporate training companies in india corporate training companies in india

      corporate training companies in chennai corporate training companies in chennai

      I have read your blog its very attractive and impressive. I like it your blog. Digital Marketing Company in Chennai

  2. I really appreciate information shared above. It’s of great help. If someone want to learn Online (Virtual) instructor lead live training in ADOBE CQ5

    , kindly contact us
    MaxMunus Offer World Class Virtual Instructor led training ADOBE CQ5 . We have industry expert trainer. We provide Training Material and Software Support. MaxMunus has successfully conducted 100000+ trainings in India, USA, UK, Australlia, Switzerland, Qatar, Saudi Arabia, Bangladesh, Bahrain and UAE etc.
    For Demo Contact us:
    Name : Arunkumar U
    Email :
    Skype id: training_maxmunus
    Contact No.-+91-9738507310
    Company Website –

  3. How to configure build for author as well as publish?

  4. Jenkins, an open source continuous integration server that is written in Java itself is the far most widely used too for the Continuous Integration Training builds and also for delivery pipelines. Developers reap on its benefits in building and testing software continuously with it. It offers configuration operations through both GUI and CLI interfaces. It is a very flexible tool that finds its usage and implementation because of the plethora of features made available via plugins. These plugins support building, testing virtually any possible project.

  5. You can set the Java Versions available Globally through /configureTools/ after version 2.0, /configure before version 2.0.


  6. Good Post! Thanks for sharing such a valuable information.
    DevOps Training
    DevOps Online Training

  7. very interesting, good job and thanks for sharing such a good blog. Seo Services Delhi

  8. I read this post your post so nice and very informative post thanks for sharing this post. Youtube Mp3 Converter

  9. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    devops online training
    best devops online training
    top devops online training

  10. Great Article. Thank you for sharing! Really an awesome post for every one
    DevOps Training
    DevOps Online Training

  11. I read your post. It is very informative and helpful to me. I admire the message valuable information you provided in your article.
    devops online training

  12. I read your post. It is very informative ad helpful to me. I admire the message valuable information you provided in your article.
    power bi training