Кэширование зависимостей 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
Другие вопросы по тегам