Выпуск новой версии
Список шагов для выпуска релиза фреймворка со временем вырос и стал сложным для ручного управления, поэтому мы создали консольный инструмент, чтобы ни один шаг не был пропущен.
Обзор шагов релиза
Заголовок раздела «Обзор шагов релиза»- …
Команда release
Заголовок раздела «Команда release»Эти шаги автоматизированы в консольной команде 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.0»Релиз новой мажорной версии включает смену ветки, как описано в политике версионирования. Ниже пример выпуска версии 2.1.0, которая разрабатывалась в ветке 2.1, ответвлённой от master. Ветка master до этого содержала версии 2.0.x.
- создать новую ветку
2.0изmaster - убедиться, что composer.json в этой ветке больше не содержит branch alias
- слить необходимые изменения из
masterв2.1 - указать
masterна последний коммит ветки2.1 - обновить branch alias в composer.json для master на
2.1.x-dev - удалить ветку
2.1
Теперь переключиться на master и запустить команду release с опцией --version=2.1.0.