мне кажется, что вам нужна среда CI, которая поддерживает различные конвейеры.
Каждый коммит / pu sh должен запускать развертывание в вашей среде DEV, где вы можете протестировать свое приложение.
По тегу среда CI запускает другой этап конвейера, который может «выпустить» приложение / библиотеку.
Тег эффективно снимает вашу версию и создает дистрибутив.