Install CIHub
What a CIHub instance is made of, the two ways to run it (Docker on one machine, or Kubernetes with the Helm chart), and the steps to a first merged pull request in about 30 minutes.
CIHub is one container and a Postgres. It runs on any machine that runs containers: Kubernetes is one way, not a requirement.
What you need
- A machine or a cluster that runs containers,
linux/amd64orlinux/arm64. - A Postgres 17. The installation with Docker brings one.
- An HTTPS address that GitHub can reach, for example
https://cihub.example.com: GitHub sends the events of your repositories there. - The owner rights on a GitHub organization, to create the App of your CIHub.
Choose how to run CIHub
Docker
One machine, a VM or a server with Docker Compose: CIHub, Postgres and an HTTPS proxy in one file. The simplest way.
Kubernetes
The Helm chart: the migrations in a Job, as many replicas as you need, your Ingress or your Gateway.
Both run the same image, ghcr.io/getcihub/server, and take the same settings. You can start with Docker and move
to Kubernetes later: the data is in Postgres.
The steps
Create the GitHub App
Register the App that receives the events of your repositories and acts on them: Create the GitHub App.
Run CIHub
Start the server with its keys: with Docker or on Kubernetes.
Install the App on your repositories
CIHub creates your organization by itself: Install the App on your repositories.
Merge your first pull request
Protect the target branch, check your CI, then comment /cihub merge: Merge your first pull
request.
What is CIHub
CIHub is a self-hosted merge queue for GitHub. It tests each pull request on top of the ones ahead of it and merges it only if the result passes.
Create the GitHub App
Create the GitHub App of your CIHub instance, give its keys to CIHub, install it on your repositories, and check that GitHub reaches the instance.