Problem to solve
I am using Downstream pipelines. gitlab-ci.yaml
of Project A:
variables:
GIT_STRATEGY: none
VERSION126: $VERSION
BUILD_VERSION: “${VERSION126}.${CI_PIPELINE_ID}”
stages:
- build
test:
stage: build
variables:
VERSION4: $VERSION126
BUILD_VERSION2: “${VERSION4}.${CI_PIPELINE_ID}”
BUILD_VERSION3: “${VERSION}.${CI_PIPELINE_ID}”
VERSION2: $VERSION126
VERSION3: “${VERSION126}”
script:
- echo “VERSION126=$VERSION126”
- echo “VERSION4=$VERSION4”
- echo “BUILD_VERSION=$BUILD_VERSION”
- echo “BUILD_VERSION2=$BUILD_VERSION2”
- echo “BUILD_VERSION3=$BUILD_VERSION3”
- echo “VERSION2=$VERSION2”
- echo “VERSION3=$VERSION3”
downstream:
stage: build
needs:
- test
inherit:
variables: false
variables:
VERSION4: $VERSION126
BUILD_VERSION2: “${VERSION4}.${CI_PIPELINE_ID}”
BUILD_VERSION3: “${VERSION}.${CI_PIPELINE_ID}”
VERSION2: $VERSION126
VERSION3: “${VERSION126}”
trigger:
project: mygroup/project_b
branch: develop2
strategy: depend
forward:
pipeline_variables: true
yaml_variables: true
gitlab-ci.yaml
of Project B:
stages:
- build
build-job:
stage: build
script:
- echo “VERSION2=$VERSION2”
- echo “VERSION3=$VERSION3”
- echo “BUILD_VERSION=$BUILD_VERSION”
- echo “BUILD_VERSION2=$BUILD_VERSION2”
- echo “BUILD_VERSION3=$BUILD_VERSION3”
Here is the output:
VERSION2=
VERSION3=
BUILD_VERSION=
BUILD_VERSION2=.7954
BUILD_VERSION3=12.0.0.7954
Why is the variable VERSION4
not being passed to the downstream project? I can’t remove inherit: variables: false
.
Versions
- GitLab v17.3.2 self-managed GitLab instances
- Gitlab runner windows 16.10.0