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

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

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

12 ответов

23 просмотра

пристрелить разрабов за сжатый образ в 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. сокращать объем образа как минимум, можно попробовать выкосить поетри из конечного образа, кеши и метаданные апта

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта