farhaan / poor-man-ci

Forked from poor-man-ci 4 years ago
Clone

Poor man's CI

This project tries to tie together Pagure with Jenkins. The goal is simple: every time a pull request is created or updated, trigger a build in Jenkins to verify the pull request does not break anything.

How does it work

Pagure is really quite chatty: a lot of information is announced via Fedmsg. The Fedora Infrastructure instance of Jenkins also has a messaging plugin. Both services provide API to query more information from and to submit requests.

Setup

The setup is manual a rather long. Please refer to help in my deployed version.

Running custom instance

You can run the service on your own if you so desire. Feel free to get a built RPM for Fedora 23 from my COPR repo. You may need to set up fedmsg-hub, nginx, gunicorn and postgresql as well.

To debug this monstrosity, I found journalctl -f -u fedmsg-hub.service to be extremely helpful.

Attribution

A lot of the code is stolen from pdc-updater and the-new-hotness. Especially the packaging part.