SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Инструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинИнструментарий для создания дистрибутивов продуктов | Владимир Селин
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
2014 ALM Summit - ALM and 1C
2014 ALM Summit - ALM and 1C2014 ALM Summit - ALM and 1C
2014 ALM Summit - ALM and 1CAlexey Lustin
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETAndrew Gubskiy
 
Python Development process in Yandex
Python Development process in YandexPython Development process in Yandex
Python Development process in Yandexaviatakz
 
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)aviatakz
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?SQALab
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сAlexey Lustin
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейSQALab
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Positive Hack Days
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
Повышение качества тестов и автоматическая валидация 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
 
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоPositive Hack Days
 

La actualidad más candente (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. Работа над проектом в Яндексе
 
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоОт простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
От простого к сложному: автоматизируем ручные тест-планы | Сергей Тимченко
 

Destacado

Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...
Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...
Один день из жизни специалиста по ИБ: процедура управления инцидентами, выявл...Solar Security
 
Устройство и Сервисы JSOC
Устройство и Сервисы JSOCУстройство и Сервисы JSOC
Устройство и Сервисы JSOCSolar Security
 
Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей Solar Security
 
10 принципов измерения ИБ
10 принципов измерения ИБ10 принципов измерения ИБ
10 принципов измерения ИБSolar Security
 
Security as a Service = JSOC
Security as a Service = JSOCSecurity as a Service = JSOC
Security as a Service = JSOCSolar Security
 
Управление инцидентами информационной безопасности с помощью DLP Solar Dozor
Управление инцидентами информационной безопасности с помощью DLP Solar DozorУправление инцидентами информационной безопасности с помощью DLP Solar Dozor
Управление инцидентами информационной безопасности с помощью DLP Solar DozorSolar Security
 
Как реагировать на инциденты ИБ с помощью DLP?
Как реагировать на инциденты ИБ с помощью DLP? Как реагировать на инциденты ИБ с помощью DLP?
Как реагировать на инциденты ИБ с помощью DLP? Solar Security
 
Спроси эксперта. 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
 
Несколько слайдов про измерение ИБ
Несколько слайдов про измерение ИБНесколько слайдов про измерение ИБ
Несколько слайдов про измерение ИБSolar Security
 
Solar inView: Безопасность под контролем
Solar inView: Безопасность под контролемSolar inView: Безопасность под контролем
Solar inView: Безопасность под контролемSolar Security
 
Как выбрать правильный IdM управление доступом в крупных компаниях
Как выбрать правильный IdM управление доступом в крупных компанияхКак выбрать правильный IdM управление доступом в крупных компаниях
Как выбрать правильный IdM управление доступом в крупных компанияхSolar Security
 
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...
Спроси эксперта. 2 сезон 2 серия. Тестирование приложений на уязвимости. Прак...Solar Security
 
Защита от внутренних угроз
Защита от внутренних угрозЗащита от внутренних угроз
Защита от внутренних угрозSolar Security
 
Эффективные и проблемные SOC-процессы
Эффективные и проблемные SOC-процессыЭффективные и проблемные SOC-процессы
Эффективные и проблемные SOC-процессыPositive Hack Days
 
JSOC - кейсы ИБ
JSOC - кейсы ИБJSOC - кейсы ИБ
JSOC - кейсы ИБSolar Security
 
Хронология кибератаки. Точки выявления и контроля. Место SOC
Хронология кибератаки. Точки выявления и контроля. Место SOCХронология кибератаки. Точки выявления и контроля. Место SOC
Хронология кибератаки. Точки выявления и контроля. Место SOCSolar Security
 
Практика использования Solar inCode
Практика использования Solar inCodeПрактика использования Solar inCode
Практика использования Solar inCodeSolar Security
 
Почему аутсорсинг ИБ становится все более востребованным в России?
Почему аутсорсинг ИБ становится все более востребованным в России?Почему аутсорсинг ИБ становится все более востребованным в России?
Почему аутсорсинг ИБ становится все более востребованным в России?Solar Security
 
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
Solar inCode – системаанализа программного кода на наличие уязвимостей ИБSolar inCode – системаанализа программного кода на наличие уязвимостей ИБ
Solar inCode – система анализа программного кода на наличие уязвимостей ИБSolar Security
 

Destacado (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 a Инструмент ChangelogBuilder для автоматической подготовки Release Notes

Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
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 2016pbiryukov
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Ontico
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...tabtabus
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nixAlexander Gerasiov
 
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...MskDotNet Community
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 

Similar a Инструмент 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
 

Más de Positive Hack Days

Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для ApproofPositive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложенийPositive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложенийPositive Hack Days
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application SecurityPositive Hack Days
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CorePositive Hack Days
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опытPositive Hack Days
 
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 CenterPositive Hack Days
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 
Практический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов БанкаПрактический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов БанкаPositive Hack Days
 
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...
Решение SafeTouch — доверенный экран для безопасного подтверждения банковских...Positive Hack Days
 
Эффективный контроль сотрудников
Эффективный контроль сотрудниковЭффективный контроль сотрудников
Эффективный контроль сотрудниковPositive Hack Days
 
Подход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterpriseПодход к обеспечению безопасности IoT в Enterprise
Подход к обеспечению безопасности IoT в EnterprisePositive Hack Days
 
DDoS-атаки в 2016–2017: переворот
DDoS-атаки в 2016–2017: переворотDDoS-атаки в 2016–2017: переворот
DDoS-атаки в 2016–2017: переворотPositive Hack Days
 

Más de 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: переворот
 

Инструмент 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