构建后测试将在gitlab ci的新环境中运行
我将以下配置设置为.gitlab-ci.yml 但我发现在成功通过构建阶段后 将创建一个名为venv的虚拟视频),看起来 在测试阶段,您将获得一个全新的环境(有 根本没有venv目录)。所以我想知道我应该设置吗 它将在每个阶段(构建/测试/部署)运行。这样做对吗构建后测试将在gitlab ci的新环境中运行,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我将以下配置设置为.gitlab-ci.yml 但我发现在成功通过构建阶段后 将创建一个名为venv的虚拟视频),看起来 在测试阶段,您将获得一个全新的环境(有 根本没有venv目录)。所以我想知道我应该设置吗 它将在每个阶段(构建/测试/部署)运行。这样做对吗 before_script: - uname -r types: - build - test - deploy job_install: type: build script: - apt-get
before_script:
- uname -r
types:
- build
- test
- deploy
job_install:
type: build
script:
- apt-get update
- apt-get install -y libncurses5-dev
- apt-get install -y libxml2-dev libxslt1-dev
- apt-get install -y python-dev libffi-dev libssl-dev
- apt-get install -y python-virtualenv
- apt-get install -y python-pip
- virtualenv --no-site-packages venv
- source venv/bin/activate
- pip install -q -r requirements.txt
- ls -al
only:
- master
job_test:
type: test
script:
- ls -al
- source venv/bin/activate
- cp crawler/settings.sample.py crawler/settings.py
- cd crawler
- py.test -s -v
only:
- master
adasdGitlab CI作业应该是独立的,因为它们可以在不同的跑步者身上运行。这不是问题。有两种方法可以在阶段之间传递文件:
- 正确的方法。使用人工制品
- 走错了路。使用缓存。使用缓存键“hack”。仍然需要同样的跑步者
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界面并能够下载它们。因此,如果它们非常繁重,请及时使用小型过期软件,以便在所有工作完成后将其删除。我基本上也有相同的问题。我在感谢您的回复时打开了一个问题。我没有成功地在上面的
job\u测试,job\u安装中组合工件: