Predefined variables
Depllo sets these environment variables on every job at dispatch. They
mirror GitLab's CI_* names, so most existing scripts work unchanged.
Project, pipeline, and job variables are merged on top of these (see
variable precedence).
Always set
| Variable | Description |
|---|---|
CI |
Always true. |
DEPLLO |
Always true — use it to detect a Depllo build. |
CI_PIPELINE_ID |
The pipeline's ULID (pipe_…). |
CI_PIPELINE_IID |
Per-project sequence number, e.g. 42 (the #42 you see in the UI). |
CI_PIPELINE_SOURCE |
What triggered it: push, pull_request, schedule, manual, or api. |
CI_JOB_ID |
The job's ULID (job_…). |
CI_JOB_NAME |
The job name from the config. |
CI_JOB_STAGE |
The job's stage. |
CI_COMMIT_SHA |
The commit SHA being built. |
CI_COMMIT_SHORT_SHA |
Short form of the SHA. |
CI_COMMIT_REF_NAME |
The branch or tag name. |
CI_DEFAULT_BRANCH |
The project's default branch. |
CI_PROJECT_NAME |
The project's display name. |
CI_PROJECT_PATH |
The owner/repo path. |
CI_PROJECT_URL |
URL of the project in Depllo. |
CI_PIPELINE_URL |
URL of this pipeline. |
CI_JOB_URL |
URL of this job. |
CI_REPOSITORY_URL |
Tokenized HTTPS clone URL (contains the clone credential). |
Conditional
| Variable | Set when |
|---|---|
CI_COMMIT_BRANCH |
The pipeline is for a branch (unset on tags). |
CI_COMMIT_TAG |
The pipeline is for a tag (unset on branches). |
CI_MERGE_REQUEST_IID |
The pipeline is for a pull request — holds the PR number. |
Example
deploy:
stage: deploy
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
script:
- echo "Deploying $CI_COMMIT_SHORT_SHA from $CI_COMMIT_REF_NAME"
- echo "Pipeline #$CI_PIPELINE_IID ($CI_PIPELINE_SOURCE)"
CI_REPOSITORY_URLembeds a clone credential. It is a masked value — Depllo redacts it from log output — but treat it like any secret and don'techoit yourself.