Проверочный список на качество управления релизами.
Управление релизами складывается из нескольких практик, практики в большей степени технические и инструментальные, но простые, а потому будут понятны даже тем менеджерам проектов, которые выросли не из программистов, а из каких-то других областей. Кроме того, практически все они так или иначе работают на одну главную идею: распространение информации между участниками проекта.
Я расскажу о том, как происходит управление интеграционными релизами в компании «Сбербанк-Технологии», где я работаю. Хотелось бы поделиться опытом и обсудить его с коллегами по ИТ-отрасли. Подобные вещи практикуются и в других крупных ИТ-инфраструктурах – было бы интересно сравнить.
В СберТехе одновременно делается больше сотни проектов, каждый из которых может вносить изменения в несколько автоматизированных систем. Систем насчитывается несколько сотен, многие из них интегрированы друг с другом через сервисную шину. Это порождает огромное количество взаимозависимостей между проектами: доработки в одном проекте могут влиять на функционал другого. Интеграционные релизы направлены на объединение реализуемых проектов в один пул, синхронизацию их доработок и доведение всех проектов до одномоментного внедрения.
Git – это не только удобная распределенная VCS, но и инструмент подготовки релизов.
В статье будет рассмотрен flow на примере Java-проектов на Maven. Статья может быть полезна для разработчиков малых и средних команд, подразумеваются базовые знания git. Материал частично перекликается с git-flow, но здесь описан более простой вариант.
В классическом случае в репозитории существует одна ветка master, из нее же делаются сборки. Если проект собирается при этом на build-сервере, это может привести к беспорядку – несколько разных билдов под одной версией, не ясен набор коммитов, которые попадают в релиз (например, если сборка делается автоматически по триггеру на VCS).
И снова здравствуйте! Я – Евгений Симигин, занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. Как я и обещал – это вторая часть нашего обзора Argo Rollouts, из которой вы узнаете о том, как в процессе выкатки нового релиза организовать еще и тестирование.