Skip to main content

Define Jenkins jobs from repository

Project description

CI Status Version on PyPI

Define jobs from project

Render Jenkins job and execute comment from jenkins.yml. These two steps are completely independant.

jenkins_yml provide a python API to render a Jenkins job XML config from a YAML payload. It does not manage Jenkins I/O to effectively create the job.

Finally, jenkins_yml provide a simple CLI script to executes de tests commands from jenkins.yml.

Setup

On your Jenkins executor, pip3 install jenkins-yml and then use jenkins-yml-runner as shell command.

jenkins.yml format

Put a jenkins.yml file at the root of the project. This file contains a mapping of JOB_NAME to scripts. For example:

app-lint: |
  flake8 app/

app-tests:
  axis:
    TOXENV: [py27, py34, py35]
  script: |
    tox -r

app-doc:
  script: |
    tox -e sphinx -r

To test a job, simply run:

JOB_NAME=app-test jenkins-yml-runner

Supported by

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