Bogdan (SirEdvin)
Хм ... а что вы там используете для разработки?
Bogdan (SirEdvin)
Вроде всех можно пересадить на разработку на удаленных машинах.
Bogdan (SirEdvin)
А там два-три дня и все научится делать docker-compose pull, docker-compose up -d
Pasha Chalyk
ну тут палка о двух концах
Anton
Вроде всех можно пересадить на разработку на удаленных машинах.
Так се идея то. Лучше локальный докер с пробросом текущей папки мс исходниками
Pasha Chalyk
вооот
Pasha Chalyk
Антон дело говорит
Bogdan (SirEdvin)
Я имел ввиду удаленный дебаг
Bogdan (SirEdvin)
Просто в питоне это работает так.
Bogdan (SirEdvin)
IDE конектится по ssh в докер машинку, и запускает все там
Bogdan (SirEdvin)
Докер запущен, разумеется, на машине разраба
Konstantin
Когда у вас десятки компонетов не всегда это все удобно держать на локальнйо машине
Pasha Chalyk
а есть жаваскрипт например, который ходить в контейнер и говорить там docker exec собери мой смузи жс западло
Pasha Chalyk
проще его на локалхосте собирать и проверять и девелопить
Bogdan (SirEdvin)
Как-то так можно
Pasha Chalyk
можно, но это затраты разработчика
Bogdan (SirEdvin)
А сборки и все прочее, они все равно запускают командами, ничто не мешает им залогинится в докер и там все делать
Pasha Chalyk
ты тратишь его время на привыкание к твоим инструментам
Bogdan (SirEdvin)
Ну, тут или будешь страдать ты, или некоторые время они. Сам решай)
Bogdan (SirEdvin)
Магического решения тут нет.
Pasha Chalyk
по мне так крутой девопс сделает ci незаметно для разраба
Bogdan (SirEdvin)
Он не может так сделать, он же *dev*ops
Pasha Chalyk
у тебя есть гит с кодом, дальше строй ci как тебе хочется
Bogdan (SirEdvin)
Он должен представлять, как работает приложение и что оно использует.
Pasha Chalyk
естесно, все так
Bogdan (SirEdvin)
Потому что если разрабам нужна будет новая версия бинарной библиотеки, как ты об этом узнаешь? Или они перейдут на новую версию ноды.
Pasha Chalyk
использовать их докерфайлы
Pasha Chalyk
они их сами поддерживают
Pasha Chalyk
а значит отказаться от базовых образов
Bogdan (SirEdvin)
Это очень скверная идя
Bogdan (SirEdvin)
*идея
Pasha Chalyk
об этом и был вопрос
Pasha Chalyk
встал вопрос о скорости сборки, для скорости нужны кэши и базовые образа
Bogdan (SirEdvin)
По сути, ты отдаешь часть своей работы разрабам, причем тебе нужно будет постоянно ее ревьюить.
Bogdan (SirEdvin)
Базовый образ не обязател, он больше для удобства, если у тебя есть дев и прод образы, если не я ошибаюсь.
Bogdan (SirEdvin)
А вот правильный менеджмент слоев нужен
Pasha Chalyk
с кэшами понятно более менее, хотя мне бы хотелось поиметь отдельный сервак рядом с реестром, который бы отдавал всем кэши
Pasha Chalyk
а вот с базовыми образами - неясно, поддержка их стоит моего времени, это печально
Bogdan (SirEdvin)
Эм .. зачем? Как уже писали - тебе кеши не нужны.
Pasha Chalyk
да как не нужны, слои закешированные
Pasha Chalyk
если у тебя не 1 билд хост а десяток в пуле?
Pasha Chalyk
на каждом держать все слои?
Pasha Chalyk
это странно
Anton
Ну можно попробовать папку со кешами (или что оно там представляет) вынести по nfs куда нибудь. После того как хром работает с общим кешем, я уже не удивлюсь если и докер так может
Igor
это странно
чего странного? у тебя на каждую тачку куда ты деплоишь свои образы, прилетают эти образы, держать копию образа на каждом из хостов тоже странно ?))
Pasha Chalyk
то же самое со слоями должно быть
Igor
да брось, у тебя при билде все шаги закэшется, кроме того который связан с изменениями изза которых билдится образ, следовательно между двумя билдами каждый раз будет сбрасываться только этот кэш, следовательно да первый билд на тачке будет медленее последующего, но последующии билды не должны отличаться по скорости на всех тачках даже если тачка пропустила 10 билдов образа
Pasha Chalyk
что если докер-слейвов с дженкинсе десяток и каждый из них универсальный, может собирать, деплоить что угодно, любой из проектов
Bogdan (SirEdvin)
Просто dockerfile будет выглядет как-то так: RUN установка библиотек, которые всегда будут нужны RUN установка библиотек, которые не часто будут меняться Ну и все остальное дальше
Pasha Chalyk
5 минут
Igor
именно образа по Dockerfile ?
Pasha Chalyk
да
Pasha Chalyk
с нуля
Igor
а если не с нуля на той же тачке опять?
Bogdan (SirEdvin)
Счастливый человеК)
Bogdan (SirEdvin)
*человек
Pasha Chalyk
а если не с нуля на той же тачке опять?
понятное дело с имеющимися слоями 1.5 минуты
Igor
у тебя при билде образа что-то компилится?
Pasha Chalyk
Счастливый человеК)
возможно) надо минуту)
Bogdan (SirEdvin)
возможно) надо минуту)
А это в целом возможно?)
Pasha Chalyk
А это в целом возможно?)
да, у девелопера примерно столько времени уходит на установку всех зависимостей и сборку
Igor
так может тебе кэшить надо папку node_modules а не докер кэши/слои/итп ?
Bogdan (SirEdvin)
Кстати, если что, папку node_modules, например, можно подключать на этапе сборки, при помощи Rocker
Pasha Chalyk
так может тебе кэшить надо папку node_modules а не докер кэши/слои/итп ?
можно, но как её сделать доступной для всех 10 слейвов?
Bogdan (SirEdvin)
rsync)
Pasha Chalyk
древние технологии)
Igor
npm юзаете?
Bogdan (SirEdvin)
Ну, у тебя еще есть samba
Pasha Chalyk
перешли на yarn, тк он быстрее)
Anton
node_modules можно коммитить вместе с проектом 😄
Bogdan (SirEdvin)
Хочешь новых, возьми какой нибудь ceph и страдай)