Time for kickass CI !
Implements extended CI features on top of Jenkins and GitHub for in-house CI.
- 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.
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!