我目前正在使用GitLab与CI运行程序来运行我的项目的单元测试,为了加快测试启动过程,我使用了内置的缓存功能,但是这似乎不起作用。
每当有人提交到主分支时,我的运行程序会进行
CI运行程序的输出:
目前我的.gitlab-ci.yml文件
每当有人提交到主分支时,我的运行程序会进行
git fetch
,然后继续删除所有缓存文件,这意味着我必须盯着屏幕等待大约10分钟才能完成测试,同时运行程序重新下载所有依赖项(NPM和PIP是最耗时间的)。CI运行程序的输出:
Fetching changes...
Removing bower_modules/jquery/ --+-- Shouldn't happen!
Removing bower_modules/tether/ |
Removing node_modules/ |
Removing vendor/ --'
HEAD is now at 7c513dd Update .gitlab-ci.yml
目前我的.gitlab-ci.yml文件
image: python:latest
services:
- redis:latest
- node:latest
cache:
key: "$CI_BUILD_REF_NAME"
untracked: true
paths:
- ~/.cache/pip/
- vendor/
- node_modules/
- bower_components/
before_script:
- python -V
# Still gets executed even though node is listed as a service??
- '(which nodejs && which npm) || (apt-get update -q && apt-get -o dir::cache::archives="vendor/apt/" install nodejs npm -yqq)'
- npm install -g bower gulp
# Following statements ignore cache!
- pip install -r requirements.txt
- npm install --only=dev
- bower install --allow-root
- gulp build
test:
variables:
DEBUG: "1"
script:
- python -m unittest myproject
我尝试阅读以下文章以获取帮助,但似乎没有一个可以解决我的问题:
~/.cache/pip/
,缓存只允许用于项目文件。 其次,如果你指定了untracked: true
,那么 `paths: