Time for kickass CI !

Jenkins EPO¶
Implements extended CI features on top of Jenkins and GitHub for in-house CI.
Features¶
- Define jobs from repository in jenkins.yml.
- Jobs pipeline façon GitLab CI.
- Query GitHub API to poll open PR instead of polling git repository.
- Read instructions from PR comments.
- Cancel running jobs when pushing new commits.
- Report issue on broken protected branches.
- Auto-merge PR.
- Works with webhook and/or behind firewall.
- Extensible through entry-point.
Quickstart¶
On your poller host:
pip3 install jenkins-epo
# Setup env vars
export JENKINS_URL=http://myjenkins.lan JOBS_CREDENTIALS=clone-creds
export GITHUB_TOKEN=YOUR_SECRET_TOKEN REPOSITORIES=owner/repo
# Check repository is manageable
jenkins-epo list-heads
# Trigger a dry run
DRY_RUN=1 jenkins-epo process https://github.com/owner/repo/tree/master
# Run it for real
jenkins-epo bot
Now write a jenkins.yml
file and open a PR:
myjob: |
tox -r
Many instructions are available. Just ask the bot by commenting jenkins:
help
in an open PR!