Which is a better continuous integration tool for AEM, Jenkins or Bamboo | Community
Skip to main content
Level 6
January 13, 2016
Solved

Which is a better continuous integration tool for AEM, Jenkins or Bamboo

  • January 13, 2016
  • 12 replies
  • 4576 views

I am trying to work out which continuous integration system, between Bamboo and Jenkins,  would be more suitable for continuous integration.

My scenario is that developers will work on their local host  to develop components and OSGI bundles using Eclipse. So assuming everything is good to go their code was sent to a BitBucket git repository, and all merges are complete. Now I want to deploy the component code, and compile and deploy OSGI  bundles to the authoring server, do QA and then if QA is passed deploy component code, and compile and deploy OSGI  bundles bundles to production, which has two load balanced servers.

 So I know I can use Jenkins to do this. I had previously asked on the AEM experience manager forum how to use Jenkins with AEM. Titled -  "Jenkins and Continual Integration with AEM Authoring Server ".

And from the answers on it I found this link https://wiki.jenkins-ci.org/display/JENKINS/CRX+Content+Package+Deployer+Plugin.

So there is an AEM  Jenkins plugin.

I have not find a similar plugin for Bamboo, and the company has a preference for using Bamboo because of its tie in with Jira. So far it appears to me that Jenkins would be better to use for AEM continuous integration.

I would greatly appreciate it if anyone could help me by directing me to any sources of knowledge that would help be to evaluate which of the two continuous integration systems is better for use with AEM.

 

Regards

Clive Stewart

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Asa_B

Hi Clive, both Jenkins and Bamboo will get the job done. If cost is concern Jenkins is open source. However, I recommend Bamboo over Jenkins, if the team is using Jira and/or the rest of the Atlassian stack. I personally find a lot of value in Bamboo's ability to automatically generate a pipeline per branch.  At scale this permits a githubflow style of branch management. 

You should really consider the new bread build tools such as Wercker, Circle-CI and Travis which forgo the complex user interfaces in favor of a simple YML configuration file.

I'd also highly recommend Ansible for managing the provisioning and deployment of AEM infrastructure. Having your build server execute ansible playbooks really help makes things so much more manageable. Puppet, Chef are possible of course, the main point is to automate everything. Of course Ansible has Ansible Tower as a UI to help out.

12 replies

joerghoh
Adobe Employee
Adobe Employee
January 15, 2016

Hi Clive

you should have a look for a system to automate platform maintenance and deployments; there are many out there, e.g. Chef, puppet, ansible for Linux plattforms, and probably many others. There you have a better control which server is deployed at a time, and this allows you to coordinate the downtimes of publish systems to sustain the service during that time as well.

kind regards,
Jörg

October 4, 2017

If Jenkins/Bamboo feels too clunky for you I recommend trying Buddy. You can use it to run Maven builds with code from Bitbucket and deploy to the user server on push to branch + the whole configuration takes like 10-15 minutes (the UI/UX is just exceptional). Just don't confuse it with buddybuild which is 100% mobile-focused, the proper Buddy goes with https://buddy.works