Skip to main content

zCICD

zCICD is Zebroo's continuous integration and deployment application for Odoo projects. It runs as an Odoo app itself, and its job is to turn every branch in your Git repository into a running, testable Odoo instance — automatically, with no manual server work.

If you have never used it before, start with Core Concepts.

What it does

You connect zCICD to a Git repository once. From then on:

  • every new branch that appears in the repository gets its own Odoo instance, built and started automatically
  • each instance has its own database, which can be seeded from a dump or created fresh with demo data
  • you can open any branch's instance in the browser and log in with one click, without knowing the password
  • tests run automatically when new commits arrive, and only the tests that the change can actually affect are executed
  • finished branches move through a review and approval flow into a release

Why a dedicated application

Odoo projects have some awkward properties that generic CI tools (GitHub Actions, GitLab CI, Jenkins, Bamboo) handle poorly:

Reusable structure. Setting up a pipeline per project works fine if you run one project. Across many projects, hand-built pipelines drift apart until no two look alike. zCICD gives every Odoo project the same shape from day one.

Intelligent test selection. A one-character change can break the whole system — but usually it does not. zCICD hashes each module together with its dependencies and skips any module already proven green at that exact hash, tag set and Python version — even if it was proven on a different branch. In practice this cuts up to 95% of the time off a test run. A hand-built Jenkins or GitHub pipeline almost always re-tests everything, every time. See Test Runs.

Browsable branches without DNS work. Odoo cannot run behind a path rewrite, so the usual trick of serving /branch-name/ does not work. zCICD uses a cookie to route your browser to the instance you selected, which means you never have to touch a DNS server or provision hostnames per branch.

Useful tooling included. An anonymised copy of the production database is one click away, as are a shell, a web-based editor, and live container logs.

Where to go next

If you want to…Read
Understand the vocabularyCore Concepts
Find your way around the UINavigating the App
Work on a feature branchYour First Branch
Know what you are allowed to doUser Roles
Connect a Git repositoryRepositories
Look up a buttonBranch Actions
Back up or restore a databaseDatabase Backup and Restore
Understand why tests were skippedTest Runs
Get an approval unblockedApproval and Code Review
Ship a change to productionReleases
Find out why an instance stoppedInstance Lifecycle
Give developers a safe copy of production dataCompressors
Add a server, volume or registryMachines, Volumes and Registries
Work out why something didn't happenTroubleshooting and Logging
Stand up zCICD itselfInstalling zCICD