我有以下配置为.gitlab-ci.yml 但是我在成功通过构建阶段后发现了(哪个 似乎会创建一个名为venv的virtualenv 在测试阶段,你会得到一个全新的环境(有 根本没有venv目录。所以我想知道我应该放置设置 在before_script中的脚本因此它将在每个阶段(构建/测试/部署)中运行。这是一种正确的方法吗?
self.Root <- expr
adasd
答案 0 :(得分:1)
Gitlab CI工作应该是独立的,因为它们可以在不同的跑步者身上运行。这不是问题。有两种方法可以在各阶段之间传递文件:
所以是的,用gitlab的方式假设你的工作在脚本之前就已经完成了。
工件示例:
artifacts:
when: on_success
expire_in: 1 mos
paths:
- some_project_files/
缓存示例:
cache:
key: "$CI_BUILD_REF_NAME"
untracked: true
paths:
- node_modules/
- src/bower_components/
对于正确的运行环境,我建议使用包含apt-get依赖关系的图像的docker。并使用人工制品在工作之间传递工作结果。请注意,artefact还上传到gitlab web界面并能够下载它们。因此,如果它们非常繁重,请使用小的expire_in时间,以便在完成所有工作后将其删除。