SlideShare a Scribd company logo
1 of 17
Модель системы Continuous Integration в компании
Positive Technologies
Тимур Гильмуллин
Руководитель отдела технологий разработки
(DevOps)
tgilmullin@ptsecurity.com
https://www.linkedin.com/in/tgilmullin
Проблема:
TFS как система Continuous Integration
Начало 2014-го: все сборки реализованы на TFS
Выбор TFS в качестве системы сборки и тестирования имеет ряд недостатков:
• Трудно поддерживать шаблоны сборочных, деплойных и тестовых конфигураций
• Проблемы с интеграцией не c# языков
• Невозможно оперативное расширение
инфраструктуры
Насущные потребности в Continuous Integration
Возникла необходимость:
• Типизировать и шаблонизировать создание сборочных, деплойных и тестовых
конфигураций
• Ускорить создание типовых проектов в
Continuous Integration системах
• Обеспечить расширяемость проектов и
упростить добавление новых
конфигураций
Решение проблемы: TeamCity + GitLab + Artifactory
В течение 1-2 лет инфраструктура Continuous Integration переведена на связку из
базовых сервисов:
• TeamCity - система организации Continuous Integration
в Компании
• GitLab - система хранения исходного кода компонент
продуктов Компании
• Artifactory - система хранения собранных бинарных
версий компонент и продуктов Компании
Типовые проекты в TeamCity
Релизная схема сборок с продвижениями в TeamCity
Обобщенная трехуровневая иерархия проектов в TeamCity
Типовой интерфейс проектов в TeamCity
Недостатки базовой архитектуры типовых проектов
• Сложная логика конфигураций в TeamCity
• Сборочные конфигурации поддерживаются только силами DevOps
• Мы быстро достигли предела масштабирования проектов, реализуя их только силами
DevOps
• Отсутствовали механизмы доставки и инсталляции продуктов Компании,
интегрированные с Continuous Integration системой
• Различающиеся сборочные процессы на сборочных серверах и машинах разработчиков
Типовые проекты: планы развития
Планируемое развитие сборочной платформы на TeamCity
Модель сборочных конфигураций и сборочных серверов в Teamcity:
Планируемое развитие сборочных процессов
Модель сборочной системы CrossBuilder:
Цели создания CrossBuilder:
• Идентичные сборочные процессы на
сборочных серверах и машинах
разработчиков
• Возможность использования различных
CI-систем
• Декларативное описание процесса сборки
делегируется в команды разработки
2016 год:
Сервисы и Continuous Integration в Компании
Расширенная схема процессов Continuous Integration
Сервисы DevOps в Positive Technologies
• Сообщество DevOpsHQ:
https://github.com/devopshq
Спасибо!
Вопросы?
Тимур Гильмуллин
Руководитель отдела технологий разработки
(DevOps)
tgilmullin@ptsecurity.com
https://www.linkedin.com/in/tgilmullin

More Related Content

What's hot

Инструменты для проведения конкурентного анализа программных продуктов | Вла...
Инструменты для проведения конкурентного анализа программных продуктов |  Вла...Инструменты для проведения конкурентного анализа программных продуктов |  Вла...
Инструменты для проведения конкурентного анализа программных продуктов | Вла...Positive Hack Days
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42DevDay
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?CEE-SEC(R)
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015Ivan Evtukhovich
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupAlina Vilk
 
Цели и их cвязь с KPI
Цели и их cвязь с KPIЦели и их cвязь с KPI
Цели и их cвязь с KPIRina Uzhevko
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоMicrosoft
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестированиеRina Uzhevko
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассветаAlexander Titov
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеSQALab
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...CEE-SEC(R)
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!SQALab
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыRina Uzhevko
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынинаqasib
 

What's hot (20)

Инструменты для проведения конкурентного анализа программных продуктов | Вла...
Инструменты для проведения конкурентного анализа программных продуктов |  Вла...Инструменты для проведения конкурентного анализа программных продуктов |  Вла...
Инструменты для проведения конкурентного анализа программных продуктов | Вла...
 
Test link introduction
Test link introductionTest link introduction
Test link introduction
 
«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42«DevOps — это о передаче смысла» — Александр Титов, Express 42
«DevOps — это о передаче смысла» — Александр Титов, Express 42
 
Длинный путь к DevOps?
Длинный путь к DevOps?Длинный путь к DevOps?
Длинный путь к DevOps?
 
DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015DevOps и системы управления конфигурацией. SECON 2015
DevOps и системы управления конфигурацией. SECON 2015
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
 
Цели и их cвязь с KPI
Цели и их cвязь с KPIЦели и их cвязь с KPI
Цели и их cвязь с KPI
 
От локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облакоОт локальной Devops инфраструктуры в облако
От локальной Devops инфраструктуры в облако
 
Гибкое тестирование
Гибкое тестированиеГибкое тестирование
Гибкое тестирование
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассвета
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
Особенности внедрения KPI или как доказать, что Ваш «зеленый» проект реально ...
 
Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемы
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
 

Similar to Модель системы Continuous Integration в компании Positive Technologies | Тимур Гильмуллин

Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Ontico
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
современные модели качества программного обеспечения
современные модели качества программного обеспечениясовременные модели качества программного обеспечения
современные модели качества программного обеспеченияcezium
 
Средства автоматизации в процессе разработки
Средства автоматизации в процессе разработкиСредства автоматизации в процессе разработки
Средства автоматизации в процессе разработкиInfoTeCS
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Andrey Karpov
 
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...TechExpert
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYPavel Tsukanov
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...QAFest
 
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...Практика применения Enterprise Architect и T4-шаблонов для разработки систем...
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...CUSTIS
 
Процессы управления ИТ-архитектурой организации
 Процессы управления ИТ-архитектурой организации Процессы управления ИТ-архитектурой организации
Процессы управления ИТ-архитектурой организацииAlexander Tsimbalistov
 
внедрение системы дистанционного обучения
внедрение системы дистанционного обучениявнедрение системы дистанционного обучения
внедрение системы дистанционного обученияWebSoft
 
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...Практика применения Enterprise Architect и T4-шаблонов для разработки системы...
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...GoSharp
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...SQALab
 

Similar to Модель системы Continuous Integration в компании Positive Technologies | Тимур Гильмуллин (20)

Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
современные модели качества программного обеспечения
современные модели качества программного обеспечениясовременные модели качества программного обеспечения
современные модели качества программного обеспечения
 
Средства автоматизации в процессе разработки
Средства автоматизации в процессе разработкиСредства автоматизации в процессе разработки
Средства автоматизации в процессе разработки
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...
Управление конфигурациями и устройствами в GLPi, интеграция в корпоративную с...
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
 
Teatro
TeatroTeatro
Teatro
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...
QA Fest 2014. Юрий Суворов. Использование Pivot tables в связке с TFS для упр...
 
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...Практика применения Enterprise Architect и T4-шаблонов для разработки систем...
Практика применения Enterprise Architect и T4-шаблонов для разработки систем...
 
Процессы управления ИТ-архитектурой организации
 Процессы управления ИТ-архитектурой организации Процессы управления ИТ-архитектурой организации
Процессы управления ИТ-архитектурой организации
 
внедрение системы дистанционного обучения
внедрение системы дистанционного обучениявнедрение системы дистанционного обучения
внедрение системы дистанционного обучения
 
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...Практика применения Enterprise Architect и T4-шаблонов для разработки системы...
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 

More from Positive Hack Days

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive 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
 

More from Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для 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
 
Практический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов БанкаПрактический опыт защиты финансовых транзакций клиентов Банка
Практический опыт защиты финансовых транзакций клиентов Банка
 

Модель системы Continuous Integration в компании Positive Technologies | Тимур Гильмуллин

  • 1. Модель системы Continuous Integration в компании Positive Technologies Тимур Гильмуллин Руководитель отдела технологий разработки (DevOps) tgilmullin@ptsecurity.com https://www.linkedin.com/in/tgilmullin
  • 3. Начало 2014-го: все сборки реализованы на TFS Выбор TFS в качестве системы сборки и тестирования имеет ряд недостатков: • Трудно поддерживать шаблоны сборочных, деплойных и тестовых конфигураций • Проблемы с интеграцией не c# языков • Невозможно оперативное расширение инфраструктуры
  • 4. Насущные потребности в Continuous Integration Возникла необходимость: • Типизировать и шаблонизировать создание сборочных, деплойных и тестовых конфигураций • Ускорить создание типовых проектов в Continuous Integration системах • Обеспечить расширяемость проектов и упростить добавление новых конфигураций
  • 5. Решение проблемы: TeamCity + GitLab + Artifactory В течение 1-2 лет инфраструктура Continuous Integration переведена на связку из базовых сервисов: • TeamCity - система организации Continuous Integration в Компании • GitLab - система хранения исходного кода компонент продуктов Компании • Artifactory - система хранения собранных бинарных версий компонент и продуктов Компании
  • 7. Релизная схема сборок с продвижениями в TeamCity
  • 10. Недостатки базовой архитектуры типовых проектов • Сложная логика конфигураций в TeamCity • Сборочные конфигурации поддерживаются только силами DevOps • Мы быстро достигли предела масштабирования проектов, реализуя их только силами DevOps • Отсутствовали механизмы доставки и инсталляции продуктов Компании, интегрированные с Continuous Integration системой • Различающиеся сборочные процессы на сборочных серверах и машинах разработчиков
  • 12. Планируемое развитие сборочной платформы на TeamCity Модель сборочных конфигураций и сборочных серверов в Teamcity:
  • 13. Планируемое развитие сборочных процессов Модель сборочной системы CrossBuilder: Цели создания CrossBuilder: • Идентичные сборочные процессы на сборочных серверах и машинах разработчиков • Возможность использования различных CI-систем • Декларативное описание процесса сборки делегируется в команды разработки
  • 14. 2016 год: Сервисы и Continuous Integration в Компании
  • 16. Сервисы DevOps в Positive Technologies • Сообщество DevOpsHQ: https://github.com/devopshq
  • 17. Спасибо! Вопросы? Тимур Гильмуллин Руководитель отдела технологий разработки (DevOps) tgilmullin@ptsecurity.com https://www.linkedin.com/in/tgilmullin