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

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

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

12 ответов

10 просмотров

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

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

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Карта сайта