我有一个gitlab CI构建过程,包含4个步骤,其中第一步生成的工件在第2步中打包到docker镜像中,然后输出图像作为第3步的工件给出,之后有第4步,通知外部服务。
第二步需要步骤1中的工件,第三步需要步骤2中的工件。这是通过'dependencies'参数完成的,并且工作正常。
步骤4没有效果,不需要任何工件。我已经跳过了'dependencies'块,然后我声明了dependencies: []
,但在这两种情况下都下载了两个工件!
如何正确通知gitlab CI该步骤没有依赖关系?或者它是Gitlab CI中的一些错误?
答案 0 :(得分:9)
To disable artifact passing, define the job with empty dependencies:
job:
stage: build
script: make build
dependencies: []
我在这里发现了同样的问题:https://gitlab.com/gitlab-org/gitlab-runner/issues/228
这似乎已修复:https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10359
请将您的CI Runner更新为更新的版本,因为它应该修复它。