我想在两个作业之间共享一个文件,并在文件发生更改时对其进行修改。 python 脚本比较cache.json
文件发生更改并有时修改缓存文件。
.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: No such file or directory
。我也插入了一次触摸命令,但这不会改变下一次没有触摸命令的运行。
是我做错了什么还是我不明白cache
在gitlab错误。
我认为你需要工件而不是缓存。
From 缓存与工件 https://docs.gitlab.com/ee/ci/caching/#cache-vs-artifacts:
cache- 用于临时存储项目依赖项。对于保留中间构建结果(例如 jar 或 apk 文件)没有用。缓存旨在通过保留依赖项(例如 npm 包、Go 供应商包等)等内容来加速给定作业的后续运行的调用,这样就不必从公共重新获取它们互联网。虽然缓存可以被滥用来在阶段之间传递中间构建结果,但在某些情况下,工件可能更适合。
文物- 用于将在阶段之间传递的阶段结果。工件旨在上传构建的一些已编译/生成的位,并且它们可以由任意数量的并发运行器获取。它们保证可用并且可以在作业之间传递数据。它们也可以从 UI 下载。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)