Reputation: 647
I have this scenario where I want to run the trigger in build stage only when $FLAG
variable has been set by the .pre
stage. However, the build
stage never runs.
How should I conditionally trigger a downstream pipeline?
checkArtifactPresent:
stage: .pre
script:
- >
set +e;
if curl -s -S -f $NEXUS_RAW_PICKER_REPOSITORY/${PRODUCT_FLAVOR}/${PRODUCT_FLAVOR}-${BUILD_TYPE}v${PICKER_TEMPLATE_TAG}.apk --output ${PRODUCT_FLAVOR}-${BUILD_TYPE}v${PICKER_TEMPLATE_TAG}.apk;
then
export FLAG= true;
fi
buildArtifact:
stage: build
only:
variables:
- $FLAG
trigger:
project: dev/project_name
strategy: depend
Upvotes: 1
Views: 2121
Reputation: 3392
You can make use of Gitlab web api for Triggering pipelines through API
You can make use of trigger variables. You can apply conditions and then trigger the downstream job.
Here you can find a simple example:
https://docs.gitlab.com/ee/ci/triggers/#making-use-of-trigger-variables
Upvotes: 2