docs/internals-ru/release.md
Список шагов для выпуска релиза фреймворка со временем вырос и стал сложным для ручного управления, поэтому мы создали консольный инструмент, чтобы ни один шаг не был пропущен.
Эти шаги автоматизированы в консольной команде release, которая включена в репозиторий разработки фреймворка.
Команду release можно вызвать через Yii-приложение в директории build:
./build/build help release # запускать в корне репозитория фреймворка
Info: Команду можно запустить с опцией
--dryRun, чтобы посмотреть, что она сделает. С этой опцией никакие изменения не будут внесены, коммиты и теги не будут созданы или отправлены.
Команда release зависит от окружения разработки, описанного в документе по Git Workflow: шаблоны приложений должны находиться в /apps/, а расширения в /extensions/. Эта структура создаётся командами dev/app и dev/ext.
Например, установка расширения:
./build/build dev/ext authclient
или приложения:
./build/build dev/app basic
Такая установка гарантирует, что расширение будет использовать тот же код фреймворка, что и в текущем состоянии репозитория.
Для обзора версий фреймворка и расширений:
./build/build release/info
Можно запустить с --update, чтобы подтянуть теги всех репозиториев и получить актуальную информацию.
Релиз фреймворка включает следующие команды (приложения всегда релизятся вместе с фреймворком):
./build/build release framework
./build/build release app-basic
./build/build release app-advanced
Релиз расширения - одна команда (например, для redis):
./build/build release redis
По умолчанию команда release выпускает новый минорный релиз из текущей ветки. Чтобы выпустить другую версию, укажите её через опцию --version, например --version=2.1.0 или --version=2.1.0-beta.
Релиз новой мажорной версии включает смену ветки, как описано в политике версионирования. Ниже пример выпуска версии 2.1.0, которая разрабатывалась в ветке 2.1, ответвлённой от master. Ветка master до этого содержала версии 2.0.x.
2.0 из mastermaster в 2.1master на последний коммит ветки 2.12.1.x-dev2.1Теперь переключиться на master и запустить команду release с опцией --version=2.1.0.