Skip to content

GitLab CI Integration

GitLab CI pipelines can publish releases into Big Picture automatically. This integration enables artifact registration, release creation, and multi-platform builds using GitLab CI/CD pipelines.


GitLab CI integration uses .gitlab-ci.yml pipeline files to automate Big Picture release publishing. Pipelines can trigger on Git tags, push events, or manual runs. The integration supports external artifact references and managed artifact storage.


  1. Service account — Create a Big Picture service account with ci:write and artifacts:write scopes
  2. CI/CD variables — Store API token as BP_API_TOKEN variable (masked, protected)
  3. Configuration — Set BP_BASE_URL and BP_PRODUCT_ID as CI/CD variables

GitLab CI pipelines follow this pattern:

  1. Build stage — Build installers or packages
  2. Register stage — Register artifacts with Big Picture
  3. Publish stage — Create release referencing artifacts

Pipelines trigger on Git tags and publish releases automatically:

only:
- tags

Pipelines build artifacts for Windows, macOS, and Linux in parallel jobs, then create a single release.

Pipelines use GitLab artifacts and dotenv reports to pass artifact metadata between jobs.


  • Artifact registration — Register artifacts via /v1/artifacts endpoint
  • Managed uploads — Upload artifacts via /v1/artifacts/uploads endpoints
  • Release creation — Create releases via /v1/releases endpoint
  • Error handling — Handle API errors with set -e and exit code checks

Store Big Picture credentials as GitLab CI/CD variables:

  • BP_API_TOKEN — Service account API token (masked, protected)
  • BP_BASE_URL — Big Picture API base URL (optional)
  • BP_PRODUCT_ID — Product ID (optional)

Detailed step-by-step guides for GitLab CI integration are planned. These guides will include:

  • Complete pipeline examples for single and multi-platform releases
  • Managed artifact upload pipelines
  • Artifact passing between jobs
  • Error handling patterns

For now, see the CI/CD Integration overview for general integration patterns.