gitlab-ci 跑步者中具有不同到期时间的多条路径
Multiple paths with different expiry time in gitlab-ci runners
我在使用 Gitlab-CI 解析阶段之间的 build
目录时遇到问题。
Gitlab-CI 擦除阶段之间创建的构建工件,这看起来很奇怪。我试图在构建和测试阶段之间存储构建工件,但是构建阶段也有我想要保留的构建工件以及 运行 下一阶段所需的构建工件。
是否可以使用 artifacts
选项设置不同路径的多个到期时间?
我尝试了以下方法,它只保留 paths
的第二个定义(build/test* 路径),而不是声明的第一个 paths
(.dmg)。
artifacts:
paths:
- build/*.dmg
expire_in: 1 week
paths:
- build/test1
- build/test2
- build/test3
expire_in: 15 mins
我已尝试使用 caches
,但似乎无法正常工作...如有任何建议,我们将不胜感激!
根据文档,这似乎是不可能的,但我需要做类似的事情,因此作为解决方法,我做了以下操作。
在生成所有工件的构建阶段,我为所有工件设置了 15 分钟的到期时间,包括应该有不同到期时间的工件。在你的情况下 build/*.dmg
。所以我对构建部分的工件定义是这样的:
artifacts:
paths:
- build/*.dmg
- build/test1
- build/test2
- build/test3
expire_in: 15 mins
之后,我在管道的下一阶段定义了两个作业。如果您同时执行此两个作业 运行。其中一项作业执行您最初打算对文件执行的操作:build/test1
、build/test2
和 build/test3
。管道这一阶段的其他作业在脚本部分应该几乎没有任何内容,可能类似于 echo "dummy job"
。但是因为虚拟作业从上一个作业接收构建工件,我们可以使用它来 'change' 15 分钟到一周的到期时间,只需使用相同的文件创建第二个工件,如下所示:
artifacts:
paths:
- build/*.dmg
expire_in: 1 week
这是一个糟糕的解决方法,因为它复制了目标工件,因为我们有一个过期时间为 15 分钟,另一个过期时间为 1 周。
我在使用 Gitlab-CI 解析阶段之间的 build
目录时遇到问题。
Gitlab-CI 擦除阶段之间创建的构建工件,这看起来很奇怪。我试图在构建和测试阶段之间存储构建工件,但是构建阶段也有我想要保留的构建工件以及 运行 下一阶段所需的构建工件。
是否可以使用 artifacts
选项设置不同路径的多个到期时间?
我尝试了以下方法,它只保留 paths
的第二个定义(build/test* 路径),而不是声明的第一个 paths
(.dmg)。
artifacts:
paths:
- build/*.dmg
expire_in: 1 week
paths:
- build/test1
- build/test2
- build/test3
expire_in: 15 mins
我已尝试使用 caches
,但似乎无法正常工作...如有任何建议,我们将不胜感激!
根据文档,这似乎是不可能的,但我需要做类似的事情,因此作为解决方法,我做了以下操作。
在生成所有工件的构建阶段,我为所有工件设置了 15 分钟的到期时间,包括应该有不同到期时间的工件。在你的情况下 build/*.dmg
。所以我对构建部分的工件定义是这样的:
artifacts:
paths:
- build/*.dmg
- build/test1
- build/test2
- build/test3
expire_in: 15 mins
之后,我在管道的下一阶段定义了两个作业。如果您同时执行此两个作业 运行。其中一项作业执行您最初打算对文件执行的操作:build/test1
、build/test2
和 build/test3
。管道这一阶段的其他作业在脚本部分应该几乎没有任何内容,可能类似于 echo "dummy job"
。但是因为虚拟作业从上一个作业接收构建工件,我们可以使用它来 'change' 15 分钟到一周的到期时间,只需使用相同的文件创建第二个工件,如下所示:
artifacts:
paths:
- build/*.dmg
expire_in: 1 week
这是一个糟糕的解决方法,因为它复制了目标工件,因为我们有一个过期时间为 15 分钟,另一个过期时间为 1 周。