构建之后的测试将在gitlab-ci上的新环境中运行

时间:2015-07-25 07:07:48

标签: gitlab gitlab-ci gitlab-ci-runner

我有以下配置为.gitlab-ci.yml 但是我在成功通过构建阶段后发现了(哪个 似乎会创建一个名为venv的virtualenv 在测试阶段,你会得到一个全新的环境(有 根本没有venv目录。所以我想知道我应该放置设置 在before_script中的脚本因此它将在每个阶段(构建/测试/部署)中运行。这是一种正确的方法吗?

self.Root <- expr

adasd

1 个答案:

答案 0 :(得分:1)

Gitlab CI工作应该是独立的,因为它们可以在不同的跑步者身上运行。这不是问题。有两种方法可以在各阶段之间传递文件:

  • 正确的方法。使用人工制品。
  • 错误的方式。使用缓存。使用缓存键&#34; hack&#34;。还需要同样的跑步者。

所以是的,用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时间,以便在完成所有工作后将其删除。