Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Understanding what differentiates jenkins and django-jenkins

My question is rather subjective, moderators please do not close it, for I want to know the views of experienced nerds.

I am new to deployment arena, and was doing some RTFM on jenkins, coming from python/django background I searched github to find django-jenkins.

The whole idea of CI is to have a continuous build process, so that you can revert to your last stage if build fails.

As far as I could make out, jenkins runs on a server, which runs test and deploys if all the tests pass, when code is pushed to github or some other repo. It might talk to the repo by means of polling or cron jobs.

Whereas when I looked at django-jenkins in the documentation it is mentioned

./manage.py jenkins

This means, we can add commands to settings file, test things locally and then deploy. (correct me if I am wrong)

So what differentiates it? Does django-jenkins remove any need of an additional server that uses jenkins for CI?

Please let me know, and clear me where I am wrong.

like image 973
user993563 Avatar asked Jun 20 '12 17:06

user993563


1 Answers

Jenkins is the actual continuous integration tool itself: it handles manual and automatic builds, deployments and can run test scripts and display reports. This is useful to see whether your tests are still passing and whether the builds are successful.

django-jenkins is a Python package for the Django web framework which provides additional tools that you can use in Jenkins. For example, it generates reports which can be read by Jenkins. You can add these commands into your build script to generate the reports.

In other words, Jenkins can be used for many different continuous integration purposes but if you happen to be building a website in Python/Django then django-jenkins provides additional functionality to make life easier.

like image 172
Simeon Visser Avatar answered Sep 22 '22 06:09

Simeon Visser