Skip to main content

Plug and play continuous integration with django and jenkins

Project description

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

Or, for the latest git version:

$ pip install git+git://github.com/kmmbvnr/django-jenkins.git

Usage

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

$ ./manage.py jenkins

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 or tutorial for running django-jenkins on ShiningPanda CI https://docs.shiningpanda.com/tutorials/multi-databases/project.html

Settings

  • PROJECT_APPS

    if presents, 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. You should specify –all option to ignore this settings.

  • JENKINS_TASKS

    List of Jenkins tasks executed by ./manage.py jenkins command.

    Default value:

    JENKINS_TASKS = (
        'django_jenkins.tasks.run_pylint',
        'django_jenkins.tasks.with_coverage',
        'django_jenkins.tasks.django_tests',
    )
  • JENKINS_TEST_RUNNER

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

Tasks

Here is the list of tasks prebuild with django-jenkins

  • django_jenkins.tasks.run_pylint

    Runs Pylint over selected Django apps.

  • django_jenkins.tasks.with_coverage

    Produces XML coverage report for Jenkins

  • django_jenkins.tasks.django_tests

    Discovers standard Django test suite from test.py files

  • django_jenkins.tasks.run_jslint

    Runs jslint tools over <app>/static/*/*.js files. Creates Pylint compatible report for Jenkins

    You should have the rhino or nodejs javascript interpreter installed for jslint

  • 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 rhino or nodejs javascript interpreter installed for csslint

  • django_jenkins.tasks.run_pep8

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

    You should have pep8 python package installed to run this tasks

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

  • 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

  • django_jenkins.tasks.lettuce_tests

    Discover Lettuce tests from app/feature directories.

    You should have the Lettuce Python package installed to run this task

  • django_jenkins.tasks.with_local_celery

    Replacement for djcelery.tests.runners.CeleryTestSuiteRunner Change settings for run Celery tasks locally.

Changelog

0.12.1 2012-03-15

  • Added Celery task

  • Add nodejs support for jslint and csslint tasks

  • Improve js and css files selection

  • Bug fixes

0.12.0 2012-01-15

  • Django 1.3 in requirements

  • Windmill support was removed (Django 1.4 has a better implementation)

  • Ignore South migrations by default

  • Added SLOCCount task

  • Added Lettuce testing task

  • Added CSS Lint task

  • Used xml output format for jslint

  • Used native pep8 output format

0.11.1 2010-06-15

  • Do not produce file reports for jtest command by default

  • Ignore Django apps without models.py file, as in Django test command

  • Fix jslint_runner.js packaging

  • Fix coverage file filtering

0.11.0 2010-04-15

  • Support pep8, Pyflakes, jslint tools

  • Added jtest command

  • Allow specify custom test runner

  • Various fixes, thnk githubbers :)

0.10.0 2010-02-15

  • Pluggable ci tasks refactoring

  • Alpha support for windmill tests

  • Partial python 2.4 compatibility

  • Renamed to django-jenkins

0.9.1 2010-12-15

  • Python 2.5 compatibility

  • Make compatible with latest Pylint only

0.9.0 2010-10-15

  • Initial public release

Authors

Mikhail Podgurskiy <kmmbvnr@gmail.com>

Special thanks, for all github forks authors.

XML Reporting Code from unittest-xml-reporting project:

Project details


Download files

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

Source Distribution

django-jenkins-0.12.1.tar.gz (172.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page