Как стать автором
Обновить

Комментарии 4

Вначале разрабы Gradle (Yarn, etc, подставить по вкусу) убивают кучу времени, чтобы правильно кешировать артефакты, и серьезно ускорять сборку, вплоть до секунд.

Потом приходят разрабы Gitlab (Github, etc, подставить по вкусу), которые положили болт на файловые кеши.

И в итоге конечным разрабам приходится придумывать обходные решения как скрестить ужа и ежа. ;)))

зы

и это еще хороший вариант, те кто поленивее, просто ждут 10 минут и больше на каждый билд.

А эти плохие разработчики "гитлаба" сейчас находятся с вами в одной комнате?
Вы тащемто лезете в современные парадигмы со своими легаси подходами, но почему-то смеете находить неправильными первые (которые все это время развивались), а не ваше (присохшее к подошве ботинка) легаси.
В современности, нравится ли вам это или нет, все ПО собирается в докере. В нём уже имеется прекрасный механизм послойного кеширования, дающий все эти известные плюшки от которых докер и выстрелил: повторяемость, иммутабельность, маштабируемость, унификация и т.д. Почему-то все современные языки (их тулзы сборки/пакетные менеджеры) прекрасно ложатся на пайплайн с докером. Например у меня нет совершенно никаких проблем с php, go, python, nodejs. А технологии мамонтов - java, впитавшие пласты архаики, вроде модели waterfall, у вас почему-то вызывают удивление, что плохо работают в современном окружении. Вот это внезапно, так внезапно!
Вообще говоря вы используете свои технологии просто неправильно, не так как они развивались и задумывались. Взяли java - релизьте раз в пол года и никаких проблем с кешем!
И более того никакой "гиблаб" не запрещал вам использовать кеши. Используйте "наздоровье" максимально отвратительный shell runner, храните кешь на хосте, запускайте все из под рута - все эти способы стрельбы в ногу там есть. Просто для обычных людей они вредны и поэтому их не пишут на первых строчках мануалов.

Каким образом у вас получится собрать(используя кэш докера) go-приложение? И как это будет отличаться от сборки джава приложения

Если убрать эмоции, то попробуйте рационально объяснить зачем ждать билда на сервере 1,5 минуты, если локально проект билдится 15 сек?

Причина очевидна, пока кеши замаунтятся в docker runner, пока с файловой системы прочитаются пачка файлов (yarn, gradle, pip, etc генерят кучу файлов), пока обратно все запишется...

Но зачем ждать 1,5мин, если можно не ждать...

зы

docker-кеширование пока вообще не трогаю, хотя и там такая же история. разрабы docker'а потратили кучу усилий на кеширование слоев, и послойную сборку. docker-runner выкинул все это на помойку.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории