а я скоро сойду с ума, пока буду каждый день по 2-3 раза ждать билдов такой длительности. У меня локально кеш билда работает нормально, билд пролетает за 0.3 сек так как все кроме COPY команды кешируется. В ci сам билд идет несколько минут и не использует кэш для установки пакетов и зависимостей. Запускается билд такой командой
docker build --cache-from "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_BEFORE_SHA"
Может кто-то сталкивался с такой ситуацией и может подсказать что я не так сделал? Может кэш нужно не с прошлого коммита брать, а как-то по другому?
А просто локальный кэш на машине ci иметь не катит?
Нет( Там сначала скачивается кэш, а затем сам обруз пулится в реджистри. Процесс загрузки кэша с реджистри и выгрузки в реджистри итогового билда занимает кучу времени. Это следующий шаг оптимизации
А что, у машины своего диска нет, на котором можно кэш держать?
Ну у нас куча команд в конторе и билдер и так помирает иногда вместе с реджистри
Не использует кэш для установки зависимости значит А) команда установки зависимостей идёт после того что меняется Б) кэш не актуальный качается
А мультистейдж стоит пытаться прикрутить? Везде пишут что это может ускорить билд, но чет я хз как это реализовать для питона
Ну главное не ускорить, а размер имейджа уменьшить
Обсуждают сегодня