我有一个在构建期间生成的目录,不应该在下一个版本中删除它。我试图在.gitlab-ci.yml:
中使用缓存来保存目录cache:
key: "$CI_BUILD_REF_NAME"
untracked: true
paths:
- target_directory/
build-runner1:
stage: build
script:
- ./build-platform.sh target_directory
在第一个构建中生成了cache.zip但是对于下一个构建,删除了target_directory并且提取了cache.zip,这需要很长时间。这是第二个版本的日志:
Running with gitlab-ci-multi-runner 1.11.
on Runner1
Using Shell executor...
Running on Runner1...
Fetching changes...
Removing target_directory/
HEAD is now at xxxxx Update .gitlab-ci.yml
From xxxx
Checking out xxx as master...
Skipping Git submodules setup
Checking cache for master...
Successfully extracted cache
有没有办法让gitlab runner首先不删除目录?
答案 0 :(得分:4)
您需要的是使用作业工件:
Artifacts是附加到a的文件和目录的列表 成功完成后的工作。
.gitlab-ci.yml
档案:
your job:
before_script:
- do something
script:
- do another thing
- do something to generate your zip file (example: myFiles.zip)
artifacts:
paths:
- myFiles.zip
作业完成后,如果您访问作业的特定页面,则可以看到有一个用于下载工件存档的按钮。