PyPI локальный кеш для Jenkins/ локальных сборок
У меня есть экземпляр Jenkins, который создает мой проект с помощью сопутствующих пакетов PyPI из сегмента require.txt. Однако, как и в случае с сборками TravisCI, сборка с нуля каждый раз занимает очень много времени, а это означает, что сборка занимает более 4-5 минут, что намного медленнее, чем было бы идеально.
То, что я ищу, - это способ кэширования загруженных пакетов локально, поэтому при запуске сборки с теми же зависимостями вместо того, чтобы получать из PyPI, он может просто извлекать локально, когда происходит изменение в версии, он может извлекать апстрим-пакет, как сейчас.
Есть ли такой проект там, так как поиск в Google этим вечером мало что показал?
2 ответа
Пип поддерживает это из коробки
pip install --download-cache=DIR
если запрашивается существующий файл, он читается из кеша. Это также можно сделать с помощью переменной среды PIP_DOWNLOAD_CACHE
;
Вы можете кеш яиц прокси как
http://pypi.python.org/pypi/collective.eggproxy
Это действует как локальный прокси для всех загруженных яиц, делая Jenkins более устойчивым, например, к тайм-аутам, которые очень часто случаются с PyPI.
Кроме того, вы можете использовать функцию PYCACHE в setuptools. Увидеть