2015-04-13 4 views
3

Как вы можете видеть в файле this travis.yml, мой код зависит от некоторых сторонних библиотек, для которых я устанавливаю их на удаленной системе перед созданием проекта.Travis CI: Избегайте повторной установки пакетов для каждой фиксации

Travis загружает и создает эти библиотеки каждый раз, когда я нажимаю фиксацию, можно ли этого избежать? Я имею в виду, чтобы сделать это только один раз для проекта, а затем позже процесс сборки использует уже созданные библиотеки для последующих коммитов?

ответ

2

Существует функция caching directories and dependencies, но в настоящее время она является экспериментальной и недоступна для публичных репозиториев напрямую. Чтобы добавить эту поддержку для общедоступных репозиториев, мы должны отключить sudoing, добавив sudo: false на верхний уровень .travis.yml. Это направит будущие сборки на container-based infrastructure Travis CI.

Но кэширование способа работает прямо сейчас у него есть ограничения, цитируя documentation:

кэширования гудронов всех каталогов, перечисленных в конфигурации и загружать их в S3, используя безопасный и защищенный URL, обеспечивая безопасность и конфиденциальность загруженных архивов.
Обратите внимание, что это делает наш кеш не локальным в сети, он все еще связан с пропускной способностью сети и разрешениями DNS для S3. Это влияет на то, что вы можете и должны хранить в кеше. Если вы храните архивы размером более нескольких сотен мегабайт в кеше, маловероятно, что вы увидите значительное улучшение скорости.