172 похожих чатов

Всем привет, есть вопрос по билдеру и реджистри в CI.

Есть образ приложения, который после билда весит 1.65 гигабайта, для ускорения сборки для него качается кэш предыдущего коммита, а затем после сборки идет загрузка образа с билдера в реджистри. Это занимает какое-то катастрофическое количество времени(в среднем по 20 минут). Какие есть способы ускорить этот процесс? Если в локальный нексус добавить базовый докер образ со всеми зависимостями, то это уменьшит вес, который билдер будет отправлять в реджистри, так как слой уже существует там, или никак не повлияет на размер сбилженного образа, который нужно отправить? Возможно напутал с терминами или процессом, являются разработчиком, а не девопсом(

12 ответов

27 просмотров

пристрелить разрабов за сжатый образ в 1,65 гига

Илья-Власов Автор вопроса

Да, по поводу веса последнего слоя — там где-то пара килобайт, так как там просто COPY . /code/

Ты б докерфайл показал чтоли

Илья-Власов Автор вопроса

Ну у меня есть предположение, что кеш какой-то левый приезжает, а не последнего коммита, но девопсы говорят что все ок должно быть

вангую у вас на билдере нет кеша регистри Из-за чего хэши при том же apt-get update меняться могут

Илья-Власов Автор вопроса
Elenhil
вангую у вас на билдере нет кеша регистри Из-за че...

К сожалению, я не так глубоко пока что в магию девопсинга погрузился и не совсем понимаю что это значит( Можешь для крестьян объяснить?

Виталий
пристрелить разрабов за сжатый образ в 1,65 гига

тот же pytorch в таре весит 250 метров. Распакованный может и под гиг занимать

а где именно собирается этот образ? у сборочной ноды // ранера локальный кеш для слоев настроен7

Илья-Власов Автор вопроса
Sergey Gureev
а где именно собирается этот образ? у сборочной но...

Нет, там вот такое в ci файле в before_script docker image pull "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_BEFORE_SHA" || true и такое в script docker build --cache-from "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_BEFORE_SHA"

Илья Власов
Нет, там вот такое в ci файле в before_script dock...

получается, локального кеша нет, это печально, но жить можно ну, тут два пути: 1. настроить локальный кеш для слоев этого можно достичь через выделенные раннеры для сборки образов, которые будут жить на своих ВМ // кубернодах, и в которых будет проброшен каталог с хоста для хранения слоев в случае кубера можно и через pvc этого же добиться, но тут смотреть надо 1.5 поменять реджистри я предполагаю, вы используете реджистри самого гитлаба, которое в случае публичного gitlab.com инстанса не шибко быстрое попробуйте хранить образы приложений непосредственно в нексусе, и кеши слоев держать там же если нексус локальный, находится в одной сети и его есть кому админить, можно получить заметное ускорение втягивания кешей в чистный раннер и пуша конечных образов 2. сокращать объем образа как минимум, можно попробовать выкосить поетри из конечного образа, кеши и метаданные апта

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта