Pipeline auto-update component
This pipeline handles the management of auto-update of the ci-tools project.
The version input accepts a variable name or a literal release version. Its
default is the variable name TOOLS_VERSION. Variable names contain letters,
digits and underscores, and cannot start with a digit. The $VARIABLE and
${VARIABLE} reference forms are also accepted.
version input | Version source |
|---|---|
TOOLS_VERSION (default) | Value of TOOLS_VERSION |
IMPORT_VERSION | Value of the selected custom variable |
4.189.0 | The literal version, independent of any variables |
"" | Latest upstream release, independent of TOOLS_VERSION |
If the selected variable is empty or unset, the preparation job discovers the
latest published release from upstream xrow-public/ci-tools. It does not fall
back to another variable. Variable references are resolved in the preparation
job, not expanded while the component input is interpolated.
The version is resolved once and passed as a dotenv artifact to the image and
Git mirror jobs, so the stable Git ref matches the imported image version even
if upstream publishes another release during the pipeline. Discovery failures or
invalid version tags fail preparation before any mirroring starts.
Variables
| Name | required | type | Hints |
|---|---|---|---|
| GITLAB_TOKEN | no | string | Personal access token of a group service account |
| GIT_SSH_KEY | no | file | Is a SSH Key. Use when there is no token |
Setup
- Create a new project
auto-update - Set variables
$CI_REGISTRY,$CI_REGISTRY_USERand$CI_REGISTRY_PASSWORD - Create GitLab pipeline file
.gitlab-ci.yml:
include:
- component: $CI_SERVER_FQDN/xrow-public/ci-tools/common@<current-imported-version>
- component: $CI_SERVER_FQDN/xrow-public/ci-tools/pipeline-auto-update@<current-imported-version>
inputs:
repository: $CI_REGISTRY/components/ci-tools
variables:
# Optional: omit TOOLS_VERSION to import the latest upstream release.
# renovate: datasource=gitlab-releases depName=xrow-public/ci-tools
TOOLS_VERSION: <current-imported-version>
- Onboard renovate to the project and run renovate on it.
- Check the results of dependency dashboard. While the current imported pipeline has a older version a newer version is available online.
.
Inputs
| Name | Description | Default | Type |
| --- | --- | --- | --- |
| destination | git@$CI_SERVER_FQDN:xrow-public/ci-tools.git | string | |
| needs | The jobs that this job depends on. | [] | array |
| repository | $CI_REGISTRY/${CI_PROJECT_NAMESPACE} | string | |
| version | Variable name or literal version to mirror. Empty values discover the latest release. | TOOLS_VERSION | string |