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_URL embeds a clone credential. It is a masked value — Depllo redacts it from log output — but treat it like any secret and don't echo it yourself.