django-jenkins 0.16.3

Plug and play continuous integration with django and jenkins

Plug and play continuous integration with Django and Jenkins

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

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

  • 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 pylint package installed

  • 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

  • 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.

  • django_jenkins.tasks.run_flake8

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

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

  • 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.

Changelog

0.16.3 2014-08-15

  • Python 2.6 compatibility returned
  • Added --projects-apps-tests options to limit tests discovery by PROJECT_APPS setting value
  • Fix coverage for apps with separate models packages under django 1.6
  • Fix missing pep8 excludes option from pep8 config

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 everythig works

  • Modify the code

  • Ensure that everythig 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.

LGPL

Author

Mikhail Podgurskiy

Pip

django-jenkins==0.16.3

Classifiers

  • Topic :: Software Development :: Testing
  • Topic :: Software Development :: Libraries :: Python Modules
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 2.7
  • Programming Language :: Python :: 2.6
  • Programming Language :: Python
  • Operating System :: OS Independent
  • Natural Language :: English
  • License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
  • Intended Audience :: Developers
  • Development Status :: 4 - Beta
File Type Python Version Uploaded On Downloads
django-jenkins-0.16.3.tar.gz Source Aug. 15, 2014 17,267
Version Release Date
0.16.3 Aug. 15, 2014
0.16.2 July 17, 2014
0.16.1 July 16, 2014
0.16.0 July 15, 2014
0.15.0 Feb. 15, 2014
0.14.1 Aug. 15, 2013
0.14.0 Dec. 15, 2012
0.13.0 July 15, 2012
0.12.1 March 15, 2012
0.12.0 Jan. 15, 2012
0.11.1 June 15, 2011
0.11.0 April 15, 2011
0.10.0 Feb. 15, 2011
Date Package Version Action
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.13.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.16.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.16.1 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.16.2 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.16.3 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.12.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.12.1 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.11.1 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.11.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.14.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.14.1 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.10.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins 0.15.0 Release Created
Nov. 4, 2014, 1:20 p.m. django-jenkins Package Created