Семантическое высвобождение автоматизирует весь рабочий процесс выпуска пакета, включая: определение следующего номера версии, создание заметок о выпуске и публикация пакета.
Это устраняет непосредственную связь между человеческими эмоциями и номерами версий, строго следуя спецификации семантической версии и сообщением о влиянии изменений на потребителей.
Поверьте нам, это изменит ваш рабочий процесс в лучшую сторону. - egghead.io
Полностью автоматизированный выпуск
СЕМЕНТИЧЕСКАЯ СЕМЕНТИЧЕСКА
Новые функции и исправления сразу же доступны для пользователей
Уведомить сопровождающих и пользователей о новых выпусках
Используйте формализованное соглашение о сообщении о коммит для документирования изменений в кодовой базе
Публикуйте различные каналы распределения (такие как NPM Dist-Tags) на основе GIT Merges
Интегрируйте с вашим рабочим процессом непрерывной интеграции
Избегайте потенциальных ошибок, связанных с ручными выпусками
Поддерживать любые менеджеры и языки пакетов с помощью плагинов
Простая и повторная конфигурация с помощью общих конфигураций
Поддержка Packenance Package Packag
Semantic-Release использует сообщения коммита для определения влияния потребительских изменений в кодовой базе. Следующие формализованные соглашения для сообщений о коммите, семантическое высвобождение автоматически определяет следующий номер семантической версии, генерирует изменение и публикует релиз.
По умолчанию, семантическое высвобождение использует соглашения о сообщении Angular Commit. Формат сообщений Commit может быть изменен с помощью preset
или config
параметров плагинов @Semantic-Release/Commit-Analyzer и @Semantic-Lease/Release-Notes-Generator.
Такие инструменты, как Commerizen или Commitlint, могут использоваться для помощи вкладчикам и обеспечению соблюдения действительных сообщений о коммите.
В таблице ниже показано, какое сообщение Commit Pellage вызывает вас, какой тип выпуска при запуске semantic-release
(используя конфигурацию по умолчанию):
Комплект сообщения | Тип выпуска |
---|---|
fix(pencil): stop graphite breaking when too much pressure applied | Исправление исправления |
feat(pencil): add 'graphiteWidth' option | Незначительный выпуск функции |
perf(pencil): remove graphiteWidth option BREAKING CHANGE: The graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reasons. | Крупный разрыв (Обратите внимание, что BREAKING CHANGE: токен должен быть в нижнем колонтитуле коммита) |
Семантическое высвобождение предназначено для выполнения в среде CI после каждого успешного строительства в отделении релиза. Таким образом, ни один человек не участвует непосредственно в процессе освобождения, и выпуски гарантированно будут неромантичными и не склонными.
Для каждого нового коммита, добавленного в одну из ветвей выпуска (например: master
, main
, next
beta
), с git push
или путем слияния запроса на вытяжение или слияния из другой ветви, запускается сборка CI и запускает semantic-release
Команда для выпуска, если существуют изменения кодовой базы после последнего выпуска, который влияет на функциональные возможности пакета.
Semantic-Release предлагает различные способы контроля времени, контента и аудитории опубликованных выпусков. См. Пример рабочих процессов в следующих рецептах:
Использование каналов распределения
Техническое обслуживание
Предварительные перерывы
После запуска тестов командный semantic-release
выполнит следующие шаги:
Шаг | Описание |
---|---|
Проверьте условия | Проверьте все условия, чтобы продолжить релиз. |
Получите последний релиз | Получите коммит, соответствующий последнему выпуску, проанализируя теги GIT. |
Анализировать коммиты | Определите тип выпуска на основе коммитов, добавленных с момента последнего выпуска. |
Проверьте релиз | Проверьте соответствие выпуска. |
Генерировать заметки | Создать заметки о выпуске для коммитов, добавленных с момента последнего релиза. |
Создайте тег GIT | Создайте тег GIT, соответствующий новой версии релиза. |
Подготовить | Подготовьте релиз. |
Публиковать | Публикуйте релиз. |
Уведомлять | Уведомить о новых выпусках или ошибках. |
Чтобы использовать семантическое высвобождение, вам нужно:
Для размещения вашего кода в репозитории GIT
Используйте службу непрерывной интеграции, которая позволяет безопасно настраивать учетные данные
Версия GIT CLI, которая соответствует нашей версии, установленной в вашей среде непрерывной интеграции
Версия Node.js, которая соответствует нашим требованиям версии, установленной в вашей среде непрерывной интеграции
Использование
Начиная
Установка
Конфигурация CI
Конфигурация
Плагины
Конфигурация рабочего процесса
Общие конфигурации
Продление
Плагины
Общая конфигурация
Рецепты
CI Configurations
GIT размещает услуги
Выпустить рабочий процесс
Руководство разработчика
JavaScript API
Разработка плагинов
Общая разработка конфигурации
Поддерживать
Ресурсы
Часто задаваемые вопросы
Поиск неисправностей
Требование к версии узла
Политика поддержки узлов
Дискуссии GitHub
Переполнение стека
Пусть люди знают, что ваш пакет опубликован с использованием семантического выпуска и каким назначением для коммитации следует включать этот значок в ваш Readme.
[! [Semantic-Release: Angular] (https://img.shields.io/badge/semanty--release-angular-e10079?logo=semantic-release)] (https://github.com/semantic-release /семантическое высвобождение)
![]() | ![]() | ![]() |
---|---|---|
Грегор Мартинус | Пьер Вандуинслагер | Мэтт Трэви |
![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
Стефан Баннеманн | Рольф Эрик Леканг | Йоханнес Йорг Шмидт | Финн Полс | Кристоф Витцко |