Skip to main content

Deployments and pipelines

In Karizma One you do not deploy by hand: every commit sent to a branch triggers a GitLab pipeline that builds the code and, on a staging or on production, deploys it. This page explains what triggers a deployment, how to follow it and how to update a branch's Odoo image.

Access

Pipeline tracking (HISTORY tab) is open to all collaborators. Sending code depends on your role: see Roles and permissions. Updating the Odoo image is limited to Super Admin and Admin.

From commit to deployment​

Each project is a GitLab repository. When a commit reaches a branch, GitLab runs that branch's pipeline. The stages shown depend on the branch type:

Branch typePipeline stagesResult
ProductionBuild, then Mise en prodThe code is built, then deployed to the production instance.
StagingBuild, then Mise en testThe code is built, then deployed to the staging environment.
DevelopmentBuildThe code is only built: a development branch has no environment.
A commit on production is deployed

Any commit that reaches the production branch is deployed to production as soon as its pipeline succeeds. Test your changes on a staging before shipping them.

What triggers a deployment​

A pipeline runs every time a commit reaches the branch, whatever its origin:

OriginExample
Git pushYou push from your computer (git push), using the command copied with Clone on the project page.
Web IDE commitYou click Commit in the Web IDE: all staged changes go out as a single commit.
Merge request mergedYou merge a merge request with Validate & Merge: the target branch receives the merge commit. Merging into the production branch deploys it to production.
Approved submoduleA submodule add or removal request approved by the project manager runs a pipeline on the branch (see Manage submodules).

Deploying a staging (dragging a branch onto STAGING) requires the branch to already have a successful pipeline. See Deploy a staging.

Modules updated on every deployment

Modules in the Update List are updated automatically on every deployment, and modules in the Test Suite list are included in the automated tests. To change these lists, contact your Karizma representative. To update a module once, use Immediate update of modules in the CONFIG tab.

Follow a pipeline​

The branch's HISTORY tab lists its commits and updates live. Each commit carries its pipeline status badge:

BadgeMeaning
CreatedThe pipeline is created and has not started yet.
pending / runningThe pipeline is waiting or running.
SuccessEvery stage succeeded: on a staging or on production, the code is deployed.
FailedA stage failed: the code is not deployed.
canceled / skippedThe pipeline was canceled or skipped.

From the HISTORY tab you can also cancel a running pipeline, open the Pipeline Jobs menu to read each stage's logs, and retry a stage. See History and pipelines for details.

During a staging's first deployment, the branch row shows a spinner and the other tabs show Deployment in Progress.

Update a branch's Odoo image​

The update applies the latest available build of the same Odoo version to the branch: critical security patches, bug fixes and performance improvements (the Updates Include list). To move to a higher version (from 17 to 18, for example), use the UPGRADE tab.

The Update Odoo Version panel of the CONFIG tab
The Update Odoo Version panel of the CONFIG tab
  1. Open the production or staging branch, then the CONFIG tab.
  2. In the Update Odoo Version panel, check the current version and the last update date (Version Status).
  3. Click Update to Latest Build. The button is only active if the last update is at least 7 days old.
  4. In the Update Odoo Version dialog, enter the Motif (required), then click Confirm.

What happens next depends on your role:

RoleWhat happens
Super AdminThe update starts immediately (Odoo image update started successfully.).
AdminAn approval request is created (Odoo version update request created successfully. Awaiting manager approval.). To get it approved, contact your Karizma representative. The update starts once approved.

A message tells you when the update has finished (Branch '…' was updated successfully!) or if it failed. Every update started is recorded in the audit log (Update Odoo Image).

Short interruption

Expect a brief service interruption while the update is applied. Schedule it outside peak hours, and test the new image on a staging first.

Refusal messages​

MessageCause
Updating a development branch is not a permitted action.Only production and stagings have an Odoo image.
Project '…' is currently offline and cannot receive updates.The project is down.
An update is already pending or in progress for the '…' branch.An update or a request is already in progress on this branch.

See also​