Кэширование зависимостей pipenv / Pipfile от TravisCI
В документации Travis по кешированию конкретно не упоминается, как кэшировать зависимости python, установленные из pipfile pipenv, а не из обычного pip requirements.txt
, В любом случае я попытался настроить кэширование pip для каждой документации, но время сборки вообще не улучшается, и я вижу, что pipenv устанавливает свои deps при каждом запуске.
Это синтаксис, который я сейчас использую - какой правильный синтаксис? (или это вообще поддерживается?)
language: python
python:
- "3.6"
cache: pip
cache:
directories:
- proj/static/node_modules
- $HOME/.cache/pip
0 ответов
Проверьте документацию по адресу https://pipenv.readthedocs.io/en/latest/advanced/
Вы можете использовать переменную окружения PIPENV_CACHE_DIR, чтобы сообщить pipenv, куда следует кэшировать файлы, а затем включить это в массив cache.directories.
Я делаю это на моей конфигурации gitlab-ci.yml (очень похож по синтаксису на travis-ci). Я также кэширую virtualenv, что значительно ускоряет время сборки.
Мой gitlab-ci.yml на самом деле выглядит так:
# WORKON_HOME sets where pipenv will place the virtualenv. We do this so that we can capture
# the environment in the cache for gitlab-ci.
# PIP_CACHE_DIR tells pip to cache our pip packages in the same path, so that we also
# cache the downloads.
variables:
WORKON_HOME: .pipenv/venvs
PIP_CACHE_DIR: .pipenv/pipcache
# Make sure gitlab-ci knows to always cache the .pipenv path
cache:
key: pipenv
paths:
- .pipenv