Deployer

Drive all your GitLab deployments from a single screen.

Deployer gathers your GitLab repositories into one delivery workspace: one tile per environment, one-click deployment from one environment to the next, and release notes computed from your commits.

For GitLab teams, hosted or on-premise.

The problem

A multi-repo release lives in no GitLab screen.

Without Deployer
  • One tab per repository just to know what runs in pre-production.
  • One merge request created by hand, per project and per environment.
  • One forgotten repository and the release ships incomplete, and nothing says so.
With Deployer
  • One tile per environment, in deployment-chain order.
  • Merge requests opened towards every target in one click.
  • An incomplete release is detected and blocked before going live.
Preview

The product, as it is.

app.deployer.dev/workspaces/orbitale
Deployments · What runs, environment by environment.
Hotfixes · The fix carried to every target, tracked until merged.
Features · Each issue’s merge requests, ready or not.
Assembly · What the try-out branch carries, and why not the rest.
Deployments 1 / 4
Deployments

Drag to pan the screenshot

Hotfixes 2 / 4
Hotfixes

Drag to pan the screenshot

Features 3 / 4
Features

Drag to pan the screenshot

Assembly 4 / 4
Assembly

Drag to pan the screenshot

The screens

Seven screens that cover the whole delivery.

Deployments

What runs on each environment and what is ready to deploy, with each project’s pipeline on one line.

Features

All merge requests of one issue, grouped across repositories. The issue is validated when everything is mergeable, never halfway.

Assembly

The try-out branch carrying the main branch plus every ready feature, rebuilt on every change, to try before merging.

Hotfixes

From a GitLab issue to hotfix merge requests: Deployer finds the commits and opens branches on every affected project.

Releases

One tag placed on all repositories in one click, its pipeline tracked to the end.

Environments

Target branches, allowed sources, variables, actions to run before going live: everything is declared here, once.

Members & roles

Five roles, from viewer to product owner. The GitLab token stays locked server-side.

Two ways to ship

By branch or by version: Deployer handles both.

branch Default
The environment is a branch
  • Deploying is pushing: master to test, then preprod, then prod.
  • Each environment declares which branches are allowed in.
  • The version tag is placed automatically at deployment time.
master → test → preprod → prod
tag Versioned delivery
The environment receives a version
  • Build once, at the tag: CI is decoupled from deployment.
  • The exact same artifact is deployed from one environment to the next.
  • An incomplete version, with one repo missing the tag, never goes live.
v2.7.0 → test → preprod → prod

The mode is chosen at workspace creation and never changes: the entire delivery history depends on it.

Two gestures, two jobs

The product owner validates features. The developer fixes production.

Product owner
Validate a feature

A feature often spans several repositories. Deployer groups its merge requests under the issue and reads GitLab’s verdict for each one.

Batch trip export board#412
orbitale/atlas-web !318 mergeable
orbitale/atlas-api !204 mergeable
orbitale/atlas-jobs !77 conflict
All-or-nothing merge: all three repositories in one click, or none while a merge request blocks.
Developer · emergency
Carry a fix to production

A production bug, a GitLab issue. Deployer prepares the hotfix end to end. You confirm before anything is written to GitLab.

Date sorting drops the timezone board#3865
01 The fix’s commits are found across the 3 affected projects.
02 Hotfix branches and their merge requests are prepared, target by target.
03 You confirm: Deployer opens everything, then tracks each merge.
A fix never ported back to the main branch is flagged before a deployment overwrites it.
Assembly

Try a feature before merging it.

Deployer assembles the main branch and every ready feature into a try-out branch, rebuilt on every change. The product owner tries the whole feature on the development environment, then merges it from the Features screen.

dev = master@a1b2c3 + 3 features
rebuilt 4 min ago · 2 of 16 projects pushed · pipelines green
board#427 Fleet filter
Carried · atlas-web, atlas-api
board#431 Cart overhaul
Held back: conflict with #427, on pom.xml
board#433 Scheduled export
Waiting: atlas-web not ready
  • A feature conflicting in a single repository is held back from all of them: nothing ships halfway.
  • Rebuilt automatically on every change, green CI required; a freeze pins the branch during a try-out.
  • Every held-back feature says why, and the developer is notified on their merge request.

The assembled branch can never be deployed: neither source nor target of a release or a hotfix. It exists to try, never to ship.

Release notes

The release note is computed. Then it is written.

Twelve repositories, dozens of tickets, several teams: Deployer compares refs and produces the note in one pass: one line per ticket, grouped by team, exportable to Markdown or Excel.

The computed note
prod · 2.13.2 → 2.14.0
board#412 Batch trip export 2 commits · 1 project
board#418 Date sorting ignores timezone 4 commits · 3 projects
socle#77 Encryption key rotation 3 commits · 2 projects
  • One line per ticket, with its commits and projects.
  • Commits without a ticket reference are counted, not hidden.
  • Markdown or Excel export, ready to share.
The written note
Computed
board#412 · Date sorting ignores the timezone · 4 commits
Written, for a customer
Date sorting now respects your timezone.
  • AI drops technical noise and writes for the reader: technical, product or customer.
  • A dozen readable entries, not forty lines of commits.
  • The computed note stays underneath, as the reference.

The written note can say less than the computed one, never something else: an invented ticket reference blocks saving.

Architecture

Deployer plugs into your GitLab, it does not replace it.

A server that decides, your GitLab that does the work. Deployer never runs Git: when repositories have to be cloned and pushed, a dedicated GitLab project, the orchestrator, does it on your side.

Deployer Hosted or on-premise. A GitLab API client: it runs no Git, it holds no repository. The workspace token stays on the server, never in the browser. YOUR GITLAB Linked projects Your repositories: branches, merge requests, pipelines, tags. The grid reads these. Issues and boards The reference that ties together the merge requests of one feature, across every repo. Orchestrator project A dedicated GitLab project, set up in two minutes from the template we ship. It clones, simulates the merges, and pushes the assembled branch. The clone token lives here, as a masked variable, set by Deployer. reads and writes branches, MRs, tags webhooks what moves on your side triggers a pipeline with the manifest report what was assembled pushes the assembled branch
Deployer

Hosted or on-premise. A GitLab API client: it runs no Git, it holds no repository. The workspace token stays on the server, never in the browser.

YOUR GITLAB
Linked projects

Your repositories: branches, merge requests, pipelines, tags. The grid reads these.

Issues and boards

The reference that ties together the merge requests of one feature, across every repo.

Orchestrator project

A dedicated GitLab project, set up in two minutes from the template we ship. It clones, simulates the merges, and pushes the assembled branch. The clone token lives here, as a masked variable, set by Deployer.

Nothing to install in your sixteen repositories: one project to set up, from a template that is the same for everyone. The orchestrator is not a linked project: it shows up neither in the deployment grid nor among the repositories being assembled.

Getting started

Three steps to a working workspace.

1
Connect GitLab
gitlab.example.com
2
Link your projects
orbitale/atlas-web
3
Declare your environments
test → preprod → prod
Hosted in France · on Clever Cloud, Paris region
On-premise · on your servers, no data leaves
GitLab, exclusively · gitlab.com or self-hosted instance
Contact

Let’s talk about your delivery chain.

A thirty-minute demo, on your repositories, no installation required.