Zuul FAQ

What version control systems does Zuul support?

Zuul currently only has support for the git version control system.

What code review systems does Zuul support?

Zuul currently supports Gerrit, GitLab, GitHub, GitHub Enterprise, and Pagure. Work is in progress to add Bitbucket support.

Where can I run my Zuul jobs?

Zuul uses Ansible to execute jobs which means Zuul can run jobs on platforms that Ansible is able to communicate with. This includes Linux (and other Unix like operating systems), Windows, and even network switches.

To provision these resources Zuul uses Nodepool which can talk to a variety of cloud resources as well as staticly configured hosts. Currently AWS, Azure, Kubernetes, OpenShift and OpenStack cloud resources are supported. Work to support Digital Ocean is in progress.

How does Zuul compare to Jenkins?

Zuul is purpose built to be a gating continuous integration and deployment system. Jenkins is a generic automation tool that can be used to perform CI and CD. Major differences that come out of this include:

  • Zuul expects all configuration to be managed as code.
  • Zuul provides test environment provisioning via Nodepool.
  • Zuul includes out of the box support for gating commits.

What are the system requirements to run Zuul?

Zuul scales with the size of your code base. An all in one Zuul installation capable of running small workloads will fit a server with 8GB of memory and 80GB of disk (this is how we test Zuul). For bigger projects you can run multiple Zuul executors and mergers to handle larger numbers of concurrent jobs. This means you can start small and expand as needed to meet demand.

Can Zuul be deployed in Kubernetes?

Yes, the Zuul control plane can be deployed within Kubernetes. Several known users manage their Zuul installation this way.

The Zuul project publishes docker images on every commit and release. You can find these images on Docker Hub.