gpt4 book ai didi

docker - 不要在 gitlab-ci 中的不同架构之间共享工件

转载 作者:行者123 更新时间:2023-12-03 19:39:04 25 4
gpt4 key购买 nike

我有一个在不同的 docker 环境中构建的项目,并希望将工件传递到下一阶段。 Gitlab-Ci 正在混合工件并将它们一起传递到下一步。如何避免这种情况?

gitlab pipeline representation

我想应该有一种方法可以将工件从 build_mt31 传递到 acceptance_mt31,对于 mt32 路径也是如此。 Gitlab 而是将它们全部传递给所有 sibling :

Downloading artifacts for build_mt31 (6965)...
Downloading artifacts from coordinator... ok id=6965 responseStatus=200 OK token=26sk7GBS
Downloading artifacts for build_mt32 (6966)...
Downloading artifacts from coordinator... ok id=6966 responseStatus=200 OK token=7EDnce-d

这是我的 .gitlab-ci.yaml 文件:

stages:
- build
- acceptance

build_mt31:
stage: build
tags:
- mt3.1
- docker
artifacts:
untracked: true
paths:
- bld31/
script:
- rm -rf bld31
- mkdir -p bld31
- cd bld31
- touch build_mt31

acceptance_mt31:
stage: acceptance
tags:
- mt3.1
- docker
script:
- cd bld31
- ls -all

build_mt32:
stage: build
tags:
- mt3.2
- docker
artifacts:
untracked: true
paths:
- bld32/
script:
- rm -rf bld32
- mkdir -p bld32
- cd bld32
- touch build_mt32

acceptance_mt32:
stage: acceptance
tags:
- mt3.2
- docker
script:
- cd bld32
- ls -all

理想情况下,我会调用具有相同名称的目录而不是 bld31、32,但在当前设置中,它们将在传递到下一步时相互覆盖。

最佳答案

您想使用依赖项 keyword ,它允许您定义要在不同作业之间传递的工件。

例如,你可以这样使用它:

acceptance_mt32:
stage: acceptance
dependencies:
- build_mt32

关于docker - 不要在 gitlab-ci 中的不同架构之间共享工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com