Как кэшировать composer пакетов в Jenkins - PullRequest
0 голосов
/ 10 января 2020

У меня есть проект Laravel и простой конвейер в Jenkins, который создает Docker образ из Dockerfile, извлекает из него код и выполняет composer install. Пока все работает нормально, но установка пакетов composer занимает много времени (например, 6-7 минут). Я пытался где-то сохранить каталог вендора, создать символическую ссылку на него или что-то еще, но пока ничего не получалось. Интересно, есть ли лучший, более официальный способ справиться с этим? У кого-нибудь есть идея или опыт? Или, может быть, какой-то другой инструмент CI?

1 Ответ

1 голос
/ 10 января 2020

Хорошо, я остановился на двух решениях:

  1. Я подключил composer каталог кэша к некоторому каталогу на хосте, чтобы ускорить установку composer пакетов:
dockerfile {
  filename 'Dockerfile'
  args '-v $HOME/composer_cache:/.composer/cache'
}
Существует (не так очевидно, потому что панель Дженкинса немного грязная) возможность отключить очистку рабочего пространства до / после проверки кода. Можно удалить эти шаги в конфигурации конвейера в разделе «Источники веток» (с красным X над этими «Поведениями»).
...