使用触发器、规则和自定义配置变量从多项目中的上游管道触发 gitlab 下游管道
Trigger gitlab downstream pipeline from a upstream pipeline in a multi-project using trigger, rules and custom configuration variables
我有这样的场景,我想 运行 只有在 .pre
阶段设置了 $FLAG
变量时才在构建阶段触发。但是,build
阶段从未 运行s.
我应该如何有条件地触发下游管道?
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
你可以使用 Gitlab web api for Triggering pipelines through API
您可以使用触发变量。您可以应用条件,然后触发下游作业。
在这里你可以找到一个简单的例子:
https://docs.gitlab.com/ee/ci/triggers/#making-use-of-trigger-variables
我有这样的场景,我想 运行 只有在 .pre
阶段设置了 $FLAG
变量时才在构建阶段触发。但是,build
阶段从未 运行s.
我应该如何有条件地触发下游管道?
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
你可以使用 Gitlab web api for Triggering pipelines through API
您可以使用触发变量。您可以应用条件,然后触发下游作业。
在这里你可以找到一个简单的例子:
https://docs.gitlab.com/ee/ci/triggers/#making-use-of-trigger-variables