yopp
как вообще такое обходят?
yopp
у меня в итоге два слоя по 60 метров :(
Evgeny
Я готовлю права и id снаружи перед copy
yopp
но вот, начинается препроцессинг :(
yopp
аргх
Anonymous
yopp
и потом dockermake
yopp
и потом тридцать шаблонизаторов, тысячи говна
Evgeny
можно добавлять из архива и в архиве хранить правильно файло
yopp
да я в тимсити вобщем-то mv сделаю, мне не жалко
Evgeny
Можно сделать подготовку файлов прямо перед запуском, в энтрипоинт
yopp
не, мне надо на диету имаджи посадить
Evgeny
Ну так они там и будут
yopp
а, ты про chown
yopp
не, это не сильно большая проблема
Evgeny
А ты о чем?
yopp
да я больше о том что COPY говно, нет exclude
Evgeny
Эмм.... .dockerignore ?
yopp
не
yopp
мы уже говорили про это :)
yopp
у меня есть vendor/bundle
yopp
который собирается внутри проекта
yopp
мне надо вытащить его отдельным слоем
Evgeny
Я чтот пропустил видать или не понимаю просто о чем речь
yopp
или если я запись которая есть в .dockerignore явно укажу в COPY оно сработает?
yopp
ну вот есть project-awesome. в нём там рельсовый апп и все зависимости. Зависимости лежат в project-awesome/vendor/bundle и меняются очень редко
Evgeny
А, понял/вспомнил
Evgeny
Я короче хз как оно у тебя, но это выглядит плохим паттерном
Evgeny
У тебя откуда берется подготовленный вендор?
yopp
готовится в тимсити шагом перед сборкой имаджа
Evgeny
А зачем? Почему не в имадже?
Evgeny
Не в докере?
yopp
уже обсуждали, там ряд сложностей с переносом в докер
yopp
плюс зависимости уже стоят в хост системе и бандлер не будет ходить в интернеты и тащить ещё 50 метров говна
yopp
так как они нужны были чтоб тесты прогнать
Evgeny
Понятно. У меня эти все шаги в докере бо непонятно зачем держать что-то снаружи
yopp
а это ещё пара лишних минут при сборке. плюс там жопа с тем чтоб нормально сделать инвалидацию
Evgeny
И тесты и кеш сборки и ид
yopp
это надо взять и сделать хеш от vendor/bundle и вот это всё
Evgeny
Хеш берется автоматом когда копируешь
yopp
я про делать в докере
R-omk
Evgeny
Нет конечно
yopp
если я просто сделаю RUN bundle install то оно это дело закеширует
yopp
и либо —no-cache, но это дно
Evgeny
У них давеча как раз тикет был игнорить дату
R-omk
тоесть он для всего считает [хэш?
Evgeny
Да
R-omk
может раньше подругому было?
yopp
Evgeny
Но основной механизм всегда был - хеш
Evgeny
Он у тебя в проекте же?
yopp
да, но там одна из зависимостей другой проект :)
Evgeny
Ну у меня так же
yopp
и если там поменялся файл, в .lock ничего не изменится
yopp
так что определить что поменялось будет очень сложно
Evgeny
Понятно
yopp
но ваще получается грустно
yopp
так как другой проект меняется часто, а весит всего около мегабайта, толку будет мало от слоя целиком
yopp
его ещё дробить надо
yopp
:(
Evgeny
Ну да, можно заморочиться для ускорения.
yopp
да тут не в ускорении дело
yopp
у нас уже регистр 33 гига
yopp
при том что кодебаза чистая ну может мегабайт пять
yopp
со всякими там стилями картинками, ну край десять
Evgeny
Ну норм
yopp
и собирается за раз 4 имаджа
Evgeny
Зачем там много? о.О
yopp
потому что 4 продукта
yopp
понятно что они там не постоянно все 4 разом, но часто
Evgeny
Вот сейчас перестал понимать. Если 4 продукта, то 4 имаджа норм. А что значит "не постоянно"?
yopp
и щас вот так: 283.8 MB. Из которых 109 мегабайт не resuable
yopp
yopp
если поменялся core, пересобираются все
Evgeny
Ага, вкурил. У меня так-же, только продуктов 22