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:
- Connect your git provider
- Set up the LXC CI/CD on the Application Definition
- How it works — for the developers who push
- Deploy Staging and Production
- 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:
betatags 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.