Skip to content

CI/CD with Muppy

Muppy turns what you push to git into running servers. Pick the pipeline that matches where your application runs.

App Servers: LXC CI/CD

Your application runs on App Servers — LXC containers or VMs, one per environment. This is how Odizy runs Odoo.

  • A push on a feature branch creates or updates your Test Server for that branch, and deleting the branch destroys it.
  • Staging and Production Servers are deployed by hand, when you choose, with the same deployment.
  • Each deployment updates the code, runs the builder, backs the database up, upgrades it and restarts the application. Its record keeps the git indexes, the duration and the downtime.
  • GitLab and GitHub.

Start here:

  1. Connect your git provider
  2. Set up the LXC CI/CD on the Application Definition
  3. How it works — for the developers who push
  4. Deploy Staging and Production
  5. Troubleshooting

Kubernetes: the Tag Mapper

Your application runs as Releases on a Kubernetes cluster, from a container image your GitLab CI builds.

  • A tag whose pipeline succeeds gets a Package Profile of its own.
  • Rules decide which Releases are upgraded to it: beta tags to staging, for instance.
  • GitLab only.

Start here: K8s CI/CD, then K8s Tag Mapper.

Coming from odoo.sh

Odizy runs an odoo.sh repository as it is. See Odizy and odoo.sh: how the two map, how to keep production on odoo.sh, and how to migrate it.