Operations · 0.8.1

CI/CD: builds and releases through GitLab or GitHub

Choose a CI system, configure builds, and release prepared versions to the server.

On this page

CI runs the same build/deploy lifecycle as manual commands. Choose where to build, then configure access and the release branch. First placement and routine updates have different steps.

Choose delivery

Set CI provider and Image delivery in Deployment → Defaults. Create a profile in Environments with server, domain and storage settings.

Delivery Build location What reaches the VPS
Source + GitLab One VPS, inside the Deploy job Exact-commit source; images are built on that host
Archive + GitLab/GitHub Runner Ready release JSON and Docker image archive
Registry + GitLab/GitHub Runner Release metadata referencing registry images

Source also supports manual use without CI. Source + GitHub is not currently supported. Registry choice is independent of CI provider, and backup is independent of delivery.

Prepare access

Complete Server and domain preparation once. Ordinary CI reads the generated profile and custom overlay from Git; a full JSON secret is unnecessary. SSH keys and registry credentials use separate protected variables.

Source additionally requires server access to the GitLab repository. That key is separate from CI → VPS access. Set the existing server Git checkout path in UI. Source CI jobs using the same Unix user share a host build queue; project data remains separate.

First and subsequent releases

A new installation needs Provision and its first Deploy. Routine updates need Deploy only. Generate writes files; it does not update the server or transfer local content.

GitLab Release branch is authored in UI, defaulting to main. Deploy is manual by default; Automatic deploy is a separate setting. Source has no standalone Build job: build runs inside Deploy. Archive/Registry first run Build and deploy its artifact.

Change Action
Code/model Commit → release branch → Deploy
Server records/content Save in the administration interface
Supported delivery/backup configuration Explicit reconfigure
Initial local data Separate one-time transfer

GitLab setup · GitHub setup · Application updates

If a job is interrupted, inspect environment state first. A new pipeline does not undo completed server steps: use Operation recovery. Old images and archives are not automatically cleaned; follow Disk cleanup.