# The CI/CD add-on

> Hold every Git deploy as a numbered release with a change summary and a risk score until someone approves it.

Source: https://veldhost.eu/docs/ci-cd-add-on

Last verified: 2026-11-12

Without the add-on, a deploy from Git is built, tested and published straight away. With the CI/CD add-on, the same deploy is built and tested, then held as a numbered release. A person reads what changed and how risky it looks, and approves it before your visitors see it.

It costs €9 per app / month.

## What happens on each deploy

1. We clone your code, install everything and run your tests ([Build steps](https://veldhost.eu/docs/build-steps)).
2. If the tests pass, we build a release and hold it. Your visitors still see the old one.
3. The Deploys tab shows **Waiting for your approval** with the release number (`r-14`), what is in it, a risk score and the build log.
4. Someone approves it, and the site switches to it in about a minute. Or they discard it, and nothing changes.

If your tests fail, nothing is built and nothing is held. The failure shows in your deploy history as usual.

[Approve a release, discard it or roll back](https://veldhost.eu/docs/release-approval-and-rollback) walks through the decision, explains the risk score, and shows how to go back to an earlier release.

## What it applies to

Every deploy from Git is held: a push, **Deploy from Git**, **Redeploy**, a [deploy hook](https://veldhost.eu/docs/deploy-hook-url) call, the API and the `deploy_site` tool. Your [deploy mode](https://veldhost.eu/docs/deploy-modes) still decides which pushes start a deploy.

Uploading files under **Upload files** publishes straight away, as before.

Only one release waits at a time. If a newer one finishes building before anyone decides, it replaces the waiting one. A waiting release does not expire: it waits until someone decides or a newer one replaces it. We don't email you about it, so check the Deploys tab (or `list_deploys`) after you deploy.

## Who can do what

- **Turn the add-on on or off**: the account owner or the billing contact, because it changes the bill.
- **Approve, discard or roll back a release**: the account owner, an administrator or a developer. A collaborator added to a single site can deploy, but cannot decide releases.

[Roles and permissions](https://veldhost.eu/docs/roles-and-permissions) has the full list.

## Turn it on or off

1. Open [Sites](https://manage.veldhost.eu/portal/sites) → your site → **Deploys**.
2. In the side panel under **CI/CD pipeline**, press **Turn on CI/CD** (the button shows the price). **Approval gate** changes to *On*.

The add-on is added to your next invoice.

> **Caution:** turning the add-on off drops a release that is still waiting for approval. It is never published; deploy again and it publishes straight away.

To stop it, press **Turn off CI/CD** and confirm. The charge stops, and deploys publish straight away again.


## Your database waits too

On a Laravel app, a held release's migrations run only when it is approved, just before the switch. While it waits, and if it is discarded, your database is not touched.

## What it doesn't do

- It doesn't replace your own tests. The risk score is read from what changed, not from running your site.

## Related

- [Approve a release, discard it or roll back](https://veldhost.eu/docs/release-approval-and-rollback)
- [Build steps](https://veldhost.eu/docs/build-steps)
- [Deploy modes: on push, on release, manual](https://veldhost.eu/docs/deploy-modes)
- [Billing and plans](https://veldhost.eu/docs/billing-and-plans)