А в чем вы видите отличие от вашего варианта? Так же в пайплайн каждого репозитория добавлена джоба, которая стартует стартует на мердж в мастер, на основе заголовков коммитов повышает версию релиза в гите, повышает версию npm пакета (если надо), генерирует changlog.md и кидает сообщение в служебный канал телеграмма. Ручных действий не требуется.
Так как наши проекты так же пишутся на PHP, генератор показался интересным
Для JavaScript взял за основу semantic-release. Который с помощью плагинов так же может генерировать CHANGELOG.md (плагин @semantic-release/changelog ) и релизы на основе заголовков коммитов.
Бонусом сделал отправку changelog в телеграмм. Дергаю API GitLab, парсю поле description (оно в формате markdown) и перегоняю в формат понятный телеграмму. В итоге выглядит примерно так:
Делали такое на электроне.
У клиентов зоопарк ОС, в т.ч. разные сертифицированные ФСТЭК линуксы, ну и win 7-10 i32 и х64.
Висит в трее, с браузером общается по вэбсокетам, с com портом через npm пакет serialport
На десктопе в хроме:
И можно качать iso ;)
А вы конкретно про телеграмм.. Это отчасти сделано для уведомления клиентов об изменениях в некоторых приложениях, чтобы два раза не вставать.
Т.е. у нас есть группы/каналы в телеграмме, на которые подписаны IT-отделы клиентов и туда улетают ченджлоги некоторых репозиториев.
А в чем вы видите отличие от вашего варианта? Так же в пайплайн каждого репозитория добавлена джоба, которая стартует стартует на мердж в мастер, на основе заголовков коммитов повышает версию релиза в гите, повышает версию npm пакета (если надо), генерирует changlog.md и кидает сообщение в служебный канал телеграмма. Ручных действий не требуется.
Не загрузился скрин из телеграмма
Для JavaScript взял за основу semantic-release. Который с помощью плагинов так же может генерировать CHANGELOG.md (плагин @semantic-release/changelog ) и релизы на основе заголовков коммитов.
У GitLab в доках есть пример.
Бонусом сделал отправку changelog в телеграмм. Дергаю API GitLab, парсю поле description (оно в формате markdown) и перегоняю в формат понятный телеграмму. В итоге выглядит примерно так: