(webpack) в CI/CD, на каждый чих билдить и деплоить все приложения совсем не хочется, хочется только то, которое реально изменилось в отслееживаемой ветке. Но есть нюанс - там же кроме приложенийй лежит и “библиотека” shared, изменения в которой могут затронуть только одно-два приложения, а могут все. Можно как-то проверять что нужно перебелдить только затронутые приложения? Кто-нибудь решал такую задачу?
Если gitlab токак вариант only: changes: - Dockerfile - project1/* - project2/*
это же оба проекта будет билдить, разве нет? Тут именно какой-то инструмент нужен который будет парсить относительные импорты в проектах и смотреть не изменились ли они
Ну так сделай условия для всех проектов отдельно..
там на одном уровне с projectN есть shared - и не на каждое изменение с в ней нужно все перебилживать: ччто-то все проекты использует, а что-то только парочка
смотри опции кэширования, https://webpack.js.org/configuration/other-options/
вот тут ещё неплохая статья, хоть и устаревшая местами (cache-loader больше не нужен). Оно всё не про монорепу, но применимо в общем случае. Избежать передеплоя можно анализирую hash артефактов билда и делать выкат только при его изменении.
Ваще, деплоить нужно то что тру проверенно100%и помечено тегом! Ну и ... все что с тегом, априори в деплой!
Обсуждают сегодня