+1 vote
1 view
in Devops and Agile by (1.5k points)

I've recently started investing time on Ansible and Jenkins and I'm not having a clear head about them. Like, when I started to use Ansible, I did not find any module for building the Java projects with the Maven.Nor were there any modules to run the tests like JUnit, or JMeter. While with Jenkins, it can build, and run tests, and even deploy. Though Hudson can't do things like to create, or to delete an instance in the cloud environments such as AWS.

What purpose do we use Ansible/Jenkins? Do I need to use a combination of both for CI ? 

1 Answer

+1 vote
by (7.5k points)
selected by
Best answer

You could use Ansible if :
You have to "deploy" without the need for building/testing. For instance, you could deploy from Ansible Tower or by using command line making it great for static websites, small projects , to name a few.

You could use Jenkins if : 

Your deployment process and machine environment is pretty straightforward like Heroku/Iron which is configured outside of your team. A custom script could be written which would do a deploy making it the final step of building ( a chained step).

How could you make them work together? :

An ideal combination is by using Jenkins for building, testing, and for saving artifacts. Next, you could call Ansible Tower for handling the deployment process. In other words, making the Jenkins to handle CI process while Ansible is assigned for handling the machine configuration.

If you want more of the Jenkins, you can checkout this Jenkins Tutorial.

For more of Ansible, you can checkout this Ansible Tutorial.

Have a nice day!

Welcome to Intellipaat Community. Get your technical queries answered by top developers !