SlideShare a Scribd company logo
1 of 26
Инструмент ChangelogBuilder
для автоматической подготовки Release Notes
Алексей Буров
CI-инженер
aburov@ptsecurity.com
Содержание
1. Общие понятия
2. Проблемы
3. Решение
4. Побочные положительные эффекты
Общие понятия и определения
Что есть Продукт
• Системный программный продукт (далее просто Продукт) —
набор файлов (к примеру, установщики), который непосредственно
поставляется Заказчику или Покупателю.
• Пакет (компонент) — атомарная единица продукта. Пакет — единица
программного обеспечения, которая может быть независимо
заменена или обновлена. У каждого пакета собственные:
• Команда разработки
• Принятый процесс разработки и баг-трекеры
• Релизные циклы
• Хранилище исходного кода (vcs)
• Система сборки
Что мы имеем
• Коробочная разработка продуктов
• Увеличивающееся количество Продуктов
• Пакеты (внутренней и внешней разработки) — часть многих Продуктов
• Команды что хотят то и творят имеют свободу действий в выборе
нужных им технологий и процессов для разработки Пакетов
• TFVC, GITLAB — Version Control Systems
• YouTrack, TFS, Gitlab, JIRA — баг-трекеры
• Нет единого места хранения исправленных багов и реализованных фич
по Продукту
• Интеграции между системами есть, но не решают все проблемы
• Продукт собирается с нуля
Проблема
Как понять, какие изменения произошли
Проблема
• Сборка MainProductName 14.1.1000 => MainProductName 14.1.1001
Проблемы
• Неясно, какие изменения были внесены в Продукт, с учетом изменений всех его
Пакетов между сборками
• Тестировщикам непонятно, что тестировать, и как определить, что влияет на баги
• Иногда одна фича требует внесение изменений в несколько пакетов (в Backend и UI) —
нужно удостовериться, что оба пакета были обновлены в сборке
• Хочется иметь два разных CHANGELOG:
• внутренний
• для заказчиков
• Нет отображения иерархий Issue — разработчик указывает Task, но не видно какая
User Story частично решается благодаря этому Task
Решение
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Договариваемся с командами
Используемые форматы:
• anytextbefore_290215_anytextafter
• anytextbefore-290215-anytextafter
• :РТ-0000 any text after — Youtrack
• anytextbefore/РТ-0000 any text after — Youtrack
• :TFS-0000 any text after
• #290215: Fixed some problem in logging
• #290215 Fixed some problem in logging
• Bug 123456: done!
• Merge branch 'hotfix/92300' into 'release/v13.0'
• #dev-654321: good fix
Собрать информацию о пакетах
При сборке Продукта в CI-сервере нет информации о Пакетах — какие баг-
трекеры используются, какие URL до VCS
Собираем информацию во время сборки
Давай работай
Commit с TaskID
Сделать сборку
Используемые пакеты
Дай commit-message State
Title,
Assignee
Что там нового в
сборке?
Поддерживаемые системы
Баг-трекеры (допускается использование нескольких баг-трекеров на один
проект):
1. TFS
2. GitLab-issue
3. YouTrack
4. JIRA
5. CustomChangelog — произвольные комментарии в формате MarkDown
VCS:
1. Gitlab
2. TFVC
Решение
Release Notes
Release Notes
Поиск по пакету или номеру багаПереход между сборками
Изменения в одной сборке
Release Notes
Changelog без Task
Новый пакет
Ссылки на commit
CustomChangelog
>>git commit –m “На это нет Task в TFS, поэтому changelog{Начиная с
данной версии мы стали использовать **RabbitMQ 3.6.0** [подробнее про
изменения](https://wiki.example.com/how-to)}”
>>git push origin
Release Notes
Несколько баг-трекеров
Иерархия пакетов
Release Notes
Решение
Дополнительные плюшки
Дополнительные плюшки
1. Проставление полей/комментариев в баг-трекер системы
Дополнительные плюшки
2.Комментарии о задачах и ссылки на сборки в MergeRequest (GitLab)
• В какую высокоуровневую User Store входит этот Bug/Task
• В какой релиз пойдет этот Task
Дальнейшее развитие
1. Сделать Data-Driven Documents (сейчас из yaml генерируется статичный
html и дублируется информация)
2. Экспорт в финальный RELEASE_NOTES.html для заказчика
или CHANGELOG.md для пуша в git-репозиторий
3. Публикация в opensource-сообщество github.com/devopshq/
Итоги
1. Общие понятия
• продукт != Пакет
• свобода действий у команд
2. Проблемы
• непонятно, какие изменения произошли
3. Решение
• главное — договориться
• база знаний
• общая схема работы
4. Побочные положительные эффекты
1. отчитываемся в Task/Bug
2. получаем информацию в MergeRequest
Спасибо!
Вопросы?
Алексей Буров
CI-инженер
aburov@ptsecurity.com

More Related Content

What's hot

Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
Alexey Lustin
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
Адаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктовАдаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктов
Alexey Lustin
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 

What's hot (20)

Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир Селин
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
2014 ALM Summit - ALM and 1C
2014 ALM Summit - ALM and 1C2014 ALM Summit - ALM and 1C
2014 ALM Summit - ALM and 1C
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NET
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandex
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1с
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Адаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктовАдаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктов
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
 

Viewers also liked

Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
Solar Security
 
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Solar Security
 

Viewers also liked (20)

Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...
Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...
Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...
 
Устройство и Сервисы JSOC
Устройство и Сервисы JSOCУстройство и Сервисы JSOC
Устройство и Сервисы JSOC
 
JSOC Inside
JSOC InsideJSOC Inside
JSOC Inside
 
Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей
 
10 принципов измерения ИБ
10 принципов измерения ИБ10 принципов измерения ИБ
10 принципов измерения ИБ
 
Security as a Service = JSOC
Security as a Service = JSOCSecurity as a Service = JSOC
Security as a Service = JSOC
 
Управление инцидентами информационной безопасности с помощью DLP Solar Dozor
Управление инцидентами информационной безопасности с помощью DLP Solar DozorУправление инцидентами информационной безопасности с помощью DLP Solar Dozor
Управление инцидентами информационной безопасности с помощью DLP Solar Dozor
 
Как реагировать на инциденты ИБ с помощью DLP?
Как реагировать на инциденты ИБ с помощью DLP? Как реагировать на инциденты ИБ с помощью DLP?
Как реагировать на инциденты ИБ с помощью DLP?
 
Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
Спроси эксперта. 2 сезон 3 серия: Solar Dozor 6.4 - новые инструменты расслед...
 
Несколько слайдов про измерение ИБ
Несколько слайдов про измерение ИБНесколько слайдов про измерение ИБ
Несколько слайдов про измерение ИБ
 
Solar inView: Безопасность под контролем
Solar inView: Безопасность под контролемSolar inView: Безопасность под контролем
Solar inView: Безопасность под контролем
 
Как выбрать правильный IdM управление доступом в крупных компаниях
Как выбрать правильный IdM управление доступом в крупных компанияхКак выбрать правильный IdM управление доступом в крупных компаниях
Как выбрать правильный IdM управление доступом в крупных компаниях
 
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
 
Защита от внутренних угроз
Защита от внутренних угрозЗащита от внутренних угроз
Защита от внутренних угроз
 
Эффективные и проблемные SOC-процессы
Эффективные и проблемные SOC-процессыЭффективные и проблемные SOC-процессы
Эффективные и проблемные SOC-процессы
 
JSOC - кейсы ИБ
JSOC - кейсы ИБJSOC - кейсы ИБ
JSOC - кейсы ИБ
 
Хронология кибератаки. Точки выявления и контроля. Место SOC
Хронология кибератаки. Точки выявления и контроля. Место SOCХронология кибератаки. Точки выявления и контроля. Место SOC
Хронология кибератаки. Точки выявления и контроля. Место SOC
 
Практика использования Solar inCode
Практика использования Solar inCodeПрактика использования Solar inCode
Практика использования Solar inCode
 
Почему аутсорсинг ИБ становится все более востребованным в России?
Почему аутсорсинг ИБ становится все более востребованным в России?Почему аутсорсинг ИБ становится все более востребованным в России?
Почему аутсорсинг ИБ становится все более востребованным в России?
 
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
Solar inCode – системаанализа программного кода на наличие уязвимостей ИБSolar inCode – системаанализа программного кода на наличие уязвимостей ИБ
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
 

Similar to Инструмент ChangelogBuilder для автоматической подготовки Release Notes

Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
pbiryukov
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Ontico
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
tabtabus
 

Similar to Инструмент ChangelogBuilder для автоматической подготовки Release Notes (20)

Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nix
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 

More from Positive Hack Days

Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
Positive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Positive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
Positive Hack Days
 

More from Positive Hack Days (20)

Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 
Доклад SiteSecure
Доклад SiteSecureДоклад SiteSecure
Доклад SiteSecure
 
Практический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов БанкаПрактический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов Банка
 
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
 
Эффективный контроль сотрудников
Эффективный контроль сотрудниковЭффективный контроль сотрудников
Эффективный контроль сотрудников
 
Подход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterpriseПодход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в Enterprise
 
DDoS-атаки в 2016–2017: переворот
DDoS-атаки в 2016–2017: переворотDDoS-атаки в 2016–2017: переворот
DDoS-атаки в 2016–2017: переворот
 

Recently uploaded

Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 

Recently uploaded (9)

Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 

Инструмент ChangelogBuilder для автоматической подготовки Release Notes

  • 1. Инструмент ChangelogBuilder для автоматической подготовки Release Notes Алексей Буров CI-инженер aburov@ptsecurity.com
  • 2. Содержание 1. Общие понятия 2. Проблемы 3. Решение 4. Побочные положительные эффекты
  • 3. Общие понятия и определения
  • 4. Что есть Продукт • Системный программный продукт (далее просто Продукт) — набор файлов (к примеру, установщики), который непосредственно поставляется Заказчику или Покупателю. • Пакет (компонент) — атомарная единица продукта. Пакет — единица программного обеспечения, которая может быть независимо заменена или обновлена. У каждого пакета собственные: • Команда разработки • Принятый процесс разработки и баг-трекеры • Релизные циклы • Хранилище исходного кода (vcs) • Система сборки
  • 5. Что мы имеем • Коробочная разработка продуктов • Увеличивающееся количество Продуктов • Пакеты (внутренней и внешней разработки) — часть многих Продуктов • Команды что хотят то и творят имеют свободу действий в выборе нужных им технологий и процессов для разработки Пакетов • TFVC, GITLAB — Version Control Systems • YouTrack, TFS, Gitlab, JIRA — баг-трекеры • Нет единого места хранения исправленных багов и реализованных фич по Продукту • Интеграции между системами есть, но не решают все проблемы • Продукт собирается с нуля
  • 6. Проблема Как понять, какие изменения произошли
  • 7. Проблема • Сборка MainProductName 14.1.1000 => MainProductName 14.1.1001
  • 8. Проблемы • Неясно, какие изменения были внесены в Продукт, с учетом изменений всех его Пакетов между сборками • Тестировщикам непонятно, что тестировать, и как определить, что влияет на баги • Иногда одна фича требует внесение изменений в несколько пакетов (в Backend и UI) — нужно удостовериться, что оба пакета были обновлены в сборке • Хочется иметь два разных CHANGELOG: • внутренний • для заказчиков • Нет отображения иерархий Issue — разработчик указывает Task, но не видно какая User Story частично решается благодаря этому Task
  • 9. Решение Инструмент ChangelogBuilder для автоматической подготовки Release Notes
  • 10. Договариваемся с командами Используемые форматы: • anytextbefore_290215_anytextafter • anytextbefore-290215-anytextafter • :РТ-0000 any text after — Youtrack • anytextbefore/РТ-0000 any text after — Youtrack • :TFS-0000 any text after • #290215: Fixed some problem in logging • #290215 Fixed some problem in logging • Bug 123456: done! • Merge branch 'hotfix/92300' into 'release/v13.0' • #dev-654321: good fix
  • 11. Собрать информацию о пакетах При сборке Продукта в CI-сервере нет информации о Пакетах — какие баг- трекеры используются, какие URL до VCS
  • 12. Собираем информацию во время сборки Давай работай Commit с TaskID Сделать сборку Используемые пакеты Дай commit-message State Title, Assignee Что там нового в сборке?
  • 13. Поддерживаемые системы Баг-трекеры (допускается использование нескольких баг-трекеров на один проект): 1. TFS 2. GitLab-issue 3. YouTrack 4. JIRA 5. CustomChangelog — произвольные комментарии в формате MarkDown VCS: 1. Gitlab 2. TFVC
  • 16. Release Notes Поиск по пакету или номеру багаПереход между сборками Изменения в одной сборке
  • 17. Release Notes Changelog без Task Новый пакет Ссылки на commit
  • 18. CustomChangelog >>git commit –m “На это нет Task в TFS, поэтому changelog{Начиная с данной версии мы стали использовать **RabbitMQ 3.6.0** [подробнее про изменения](https://wiki.example.com/how-to)}” >>git push origin
  • 22. Дополнительные плюшки 1. Проставление полей/комментариев в баг-трекер системы
  • 23. Дополнительные плюшки 2.Комментарии о задачах и ссылки на сборки в MergeRequest (GitLab) • В какую высокоуровневую User Store входит этот Bug/Task • В какой релиз пойдет этот Task
  • 24. Дальнейшее развитие 1. Сделать Data-Driven Documents (сейчас из yaml генерируется статичный html и дублируется информация) 2. Экспорт в финальный RELEASE_NOTES.html для заказчика или CHANGELOG.md для пуша в git-репозиторий 3. Публикация в opensource-сообщество github.com/devopshq/
  • 25. Итоги 1. Общие понятия • продукт != Пакет • свобода действий у команд 2. Проблемы • непонятно, какие изменения произошли 3. Решение • главное — договориться • база знаний • общая схема работы 4. Побочные положительные эффекты 1. отчитываемся в Task/Bug 2. получаем информацию в MergeRequest