semantic-release: возможно ли отследить и выпустить определенный каталог в репо?

У нас есть проект Java с субмодулем JavaScript, структура которого выглядит следующим образом:

java-project |- folder1 |- folder2 |- ... |- javascript-submodule |- package.json |- ...

Можно ли настроить semantic-release отслеживать изменения в javascript-submodule только и вызвать выпуск Npm этого с помощью javascript-submodule/package.json?

1 ответ

Вы можете использовать semantic-release в любом каталоге, вам просто нужно сделать cd в этом каталоге перед запуском semantic-release команда.

Однако концепция семантического выпуска заключается в анализе коммитов, выдвинутых с момента последнего выпуска. Кажется, у вас есть 2 разных проекта в одном репо (Java и Javascript), поэтому анализ фиксации будет проблематичным, так как семантическая версия также будет запускать релизы для фиксации, которые вносят изменения только в проект Java. Кроме того, semantic-release использует Git-теги для определения коммитов, связанных с релизом. Таким образом, вы будете в конечном итоге с тегами, как v1.0.0, v1.1.0 и т. д., которые относятся только к проекту Javascript и могут конфликтовать с выпусками руководства, которые вы делаете для проекта Java.

Вероятно, лучшим решением в вашем случае будет использование semantic-release для выпуска обоих проектов одновременно: - Используйте плагин https://github.com/semantic-release/exec выпуска проекта Java - Используйте плагин https://github.com/semantic-release/npm для выпуска проекта Javascript с возможностью pkgRoot

В такой конфигурации и проект Java, и проект Javascript будут выпущены вместе с одной и той же версией, а теги Git будут применяться к обоим.

Другие вопросы по тегам