Yaml Gitlab Ci:如何在作业之间共享数据
我想在两个作业之间共享一个文件,如果有更改的文件,则对其进行修改。python脚本将Yaml Gitlab Ci:如何在作业之间共享数据,yaml,gitlab,gitlab-ci,gitlab-ci-runner,Yaml,Gitlab,Gitlab Ci,Gitlab Ci Runner,我想在两个作业之间共享一个文件,如果有更改的文件,则对其进行修改。python脚本将cache.json文件与更改进行比较,并有时修改cahce文件 .gitlab ci.yaml: image: ubuntu stages: - test cache: key: one-cache paths: - cache.json job1: stage: test script: # - touch cache.json - cat cache.json
cache.json
文件与更改进行比较,并有时修改cahce文件
.gitlab ci.yaml
:
image: ubuntu
stages:
- test
cache:
key: one-cache
paths:
- cache.json
job1:
stage: test
script:
# - touch cache.json
- cat cache.json
- python3 modify_json_file.py
- cat cache.json
问题是在下一次作业运行时,cache.json
文件不存在。我收到错误消息:cat:cache.json:没有这样的文件或目录
。我也插入了一次touch命令,但是在没有touch命令的情况下,这不会改变下一次运行的任何内容
我是否有什么地方出错,或者我不理解gitlab的
缓存是错误的。我认为您需要的是工件,而不是缓存
发件人:
缓存-用于项目依赖项的临时存储。对于保存中间构建结果(如jar或apk文件)不有用。缓存的设计目的是通过保留依赖项(例如,npm包、Go供应商包等)来加速对给定作业后续运行的调用,从而不必从公共internet重新获取它们。虽然缓存可能被滥用以在阶段之间传递中间构建结果,但在某些情况下,工件可能更适合
工件-用于将在各个阶段之间传递的阶段结果。工件被设计为上传编译/生成的构建位,并且它们可以被任意数量的并发运行程序获取。它们保证可用,并在作业之间传递数据。它们还可以从UI下载