# Installing pagure-ci

A CI stands for Continuous Integration. Pagure can be configured to integrate results coming from CI services, such as Jenkins on pull-request opened against the project.

## Configure your system

- Install the required dependencies

    python-jenkins
    python-redis
    python-trololio

Note

We ship a systemd unit file for pagure_ci but we welcome patches for scripts for other init systems.

- Install the files of pagure-ci as follow:

Source | Destination
--- | ---
`pagure-ci/pagure_ci_server.py` | `/usr/libexec/pagure-ci/pagure_ci_server.py`
`pagure-ci/pagure_ci.service` | `/etc/systemd/system/pagure_ci.service`

The first file is the pagure-ci service itself, triggering the build on the CI service when there is a new pull-request or a change to an existing one.

The second file is the systemd service file.

- Configure your pagure instance to support CI, add the following to your configuration file

    PAGURE_CI_SERVICES = ['jenkins']

- Activate the service and ensure it’s started upon boot:

    systemctl enable redis
    systemctl start redis
    systemctl enable pagure_ci
    systemctl start pagure_ci