Jenkins
Note: The following notes use the Django application name pk_common
as an
example.
Links
Configuration
Application
Install
django_jenkins
:pip install django-jenkins
In your project
settings.py
, add the following application:INSTALLED_APPS = ( 'django_jenkins',
Tell
django_jenkins
which applications you want to test:# For Django, Jenkins run the tests for the following applications: PROJECT_APPS = ( 'pk_common', )
Jenkins
Install the following plugins:
Jenkins Violations plugin
Jenkins Cobertura Plugin
Create a new Jenkins Job. Choose Build a free-style software project…
It is easiest to get Jenkins to run a shell script to run the tests. This script can be used to create a virtual environment (and anything else you want to do. See
misc/jenkins-build.sh
for a sample script.To configure the Jenkins project:
Set the Project name. If using the
misc/jenkins-build.sh
script, then the Project name should be the name of the application folder.Tick Poll SCM and use the following Schedule:
*/5 * * * *
Add build step, Execute shell, setting the Execute shell, Command to:
bash -ex ./jenkins-build.sh ${JOB_NAME}
Tick Publish Cobertura Coverage Report and set the Cobertura xml report pattern to:
pk_common/reports/coverage.xml
Tick Publish JUnit test result report and set the Test report XMLs to:
pk_common/reports/TEST-*.xml
Tick Report Violations and set the XML filename pattern for pylint to:
pk_common/reports/pylint.report
Issues
Fail Silently
django_jenkins
will fail silently if there are no unit tests to run.