Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Plug and play continuous integration with django and jenkins

Project Description
django-jenkins
==============

Plug and play continuous integration with Django and Jenkins

.. image:: https://img.shields.io/pypi/v/django-jenkins.svg
:target: https://pypi.python.org/pypi/django-jenkins

.. image:: https://requires.io/github/kmmbvnr/django-jenkins/requirements.png?branch=master
:target: https://requires.io/github/kmmbvnr/django-jenkins/requirements/?branch=master

.. image:: https://badges.gitter.im/Join%20Chat.svg
:target: https://gitter.im/kmmbvnr/django-jenkins?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)


Installation
------------

From PyPI::

$ pip install django-jenkins

Or by downloading the source and running::

$ python setup.py install

Latest git version::

$ pip install -e git+git://github.com/kmmbvnr/django-jenkins.git#egg=django-jenkins
$ pip install coverage

Installation for Python 3::

Works out of the box


Django compatibility
--------------------

django-jenkins=0.XX.Y version suppose to work with django=X.X.Z version.

Probably same version of django-jenkins will works for nearest versions of django=>X.X-1.Z<X.X+1.Z
But it's not guarantied.

All older versions of django-jenkins below current are not supported.

Usage
-----

Add ``'django_jenkins'`` to your ``INSTALLED_APPS`` list.
Configure Jenkins to run the following command::

$ ./manage.py jenkins --enable-coverage

This will create reports/ directory with junit xml, Coverage and Pylint
reports.

For more details see the generic tutorial: https://sites.google.com/site/kmmbvnr/home/django-jenkins-tutorial

Settings
--------

- ``PROJECT_APPS``

If present, it is supposed to be a list/tuple of django apps for Jenkins to run.
Tests, reports, and coverage are generated only for the apps from this list.

- ``JENKINS_TASKS``

List of Jenkins reporters executed by ``./manage.py jenkins`` command.

Default value::

JENKINS_TASKS = ()

- ``JENKINS_TEST_RUNNER``

The name of the class to use for starting the test suite for ``jenkins`` command.
Class should be inherited from
``django_jenkins.runner.CITestSuiteRunner``


Reporters
---------

Here is the reporters prebuild with django-jenkins

- ``django_jenkins.tasks.run_pylint``

Runs Pylint_ over selected Django apps.

Task-specific settings: ``PYLINT_RCFILE``

.. _Pylint: http://www.logilab.org/project/pylint

- ``django_jenkins.tasks.run_csslint``

Runs CSS lint tools over `app/static/*/*.css` files.
Creates CSS Lint compatible report for Jenkins

You should have the csslint package installed

- ``django_jenkins.tasks.run_scsslint``

Runs SCSS lint tool over `app/static/*/*.scss` files.
Creates CSS Lint compatible report for Jenkins

You should have the scss-lint_ and scss_lint_reporter_checkstyle_ tools installed

.. _scss-lint: https://github.com/brigade/scss-lint
.. _scss_lint_reporter_checkstyle: https://github.com/Sweetchuck/scss_lint_reporter_checkstyle

- ``django_jenkins.tasks.run_pep8``

Runs pep8 tool over selected Django apps.
Creates Pylint compatible report for Jenkins

You should have pep8_ python package (>=1.3) installed to run this task.

Task-specific settings: ``PEP8_RCFILE``

.. _pep8: http://pypi.python.org/pypi/pep8

- ``django_jenkins.tasks.run_pyflakes``

Runs Pyflakes tool over selected Django apps.
Creates Pylint compatible report for Jenkins.

You should have Pyflakes_ python package installed to run this task.

.. _Pyflakes: http://pypi.python.org/pypi/pyflakes

- ``django_jenkins.tasks.run_flake8``

Runs flake8 tool over selected Django apps.
Creates pep8 compatible report for Jenkins.

You should have flake8_ python package installed to run this task.

.. _flake8: http://pypi.python.org/pypi/flake8

- ``django_jenkins.tasks.run_sloccount``

Runs SLOCCount_ tool over selected Django apps.
Creates sloccount plugin compatible report for Jenkins.

You should have the SLOCCount program installed to run this task.

.. _SLOCCount: http://www.dwheeler.com/sloccount/


Changelog
---------

0.110.0 2016-09-15
~~~~~~~~~~~~~~~~~~

* Flake8 >= 3.0 support
* `scss-lint` task added


Contribution guide
~~~~~~~~~~~~~~~~~~

* Set up local jenkins
* Set up django-jenkins::

npm install jshint
npm install csslint
PATH=$PATH:$WORKSPACE/node_modules/.bin
tox

* Ensure that everything works
* Modify the *the only one thing*
* Ensure that everything works again
* Fix pep8/pyflakes errors and minimize pylint's warninigs
* Pull request!

Authors
-------
Created and maintained by Mikhail Podgurskiy <kmmbvnr@gmail.com>

Contributors: https://github.com/kmmbvnr/django-jenkins/graphs/contributors

Special thanks, for all github forks authors for project extensions ideas and problem identifications.
Release History

Release History

This version
History Node

0.110.0

History Node

0.19.0

History Node

0.18.1

History Node

0.18.0

History Node

0.17.0

History Node

0.16.4

History Node

0.16.3

History Node

0.16.2

History Node

0.16.1

History Node

0.16.0

History Node

0.15.0

History Node

0.14.1

History Node

0.14.0

History Node

0.13.0

History Node

0.12.1

History Node

0.12.0

History Node

0.11.1

History Node

0.11.0

History Node

0.10.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_jenkins-0.110.0-py2.py3-none-any.whl (21.0 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Sep 15, 2016
django-jenkins-0.110.0.tar.gz (19.8 kB) Copy SHA256 Checksum SHA256 Source Sep 15, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting