SlideShare a Scribd company logo
Как	мы	растили-растили,	и	
наконец	вырастили	
бамбуковую	ферму
Стас	Дашковский
Engineer,	 DevOps Tooling,	 Align	Technology
Несколько	слов	о	нашей	компании
• Компания	предоставляет	инновационный	способ	исправления	
прикуса
• Много	специфических	(внутриполостные	сканеры,	моделирование	
ортодонтических операций,	ПО	станков)	и	неспецифических	(CRM,	
биллинг,	промо-сайты)	продуктов
• Много	различных:
• проектов
• технологий	(C++,	C#,	Java,	Ruby,	iOS)
• Тестов
• Много	windows
• Специфические	требования	от	госрегуляторов(FDA и	другие),	в	том	
числе	к	QA	и CI
Кратко	о	Bamboo	для	тех,	кто	не	знает
• Bamboo	– это	сервер	CI,	оркестратор	билд-серверов
• К	головному	серверу	подключаются	машины,	на	которых	и	
выполняются	задачи	(компиляция,	сборка,	тесты)	- агенты
• Единица	сборки	– план.	План	описывает	сборку	одного	продукта	(или	
его	части)
• План	состоит	из	стадий	(stages),	выполняемых	последовательно
• Стадии	состоят	из	работ	(jobs),	выполняемых	внутри	стадии	
параллельно.	Каждая	работа	– на	своем	агенте.
• Работа	– набор	последовательных	операций	(выкачать	исходники,	
запустить	скрипт,	скачать	файл	и	т.п)
Общая	конфигурация	Bamboo
• Используем	уже	более	4х	лет
• Выбрали	из-за	интеграции	с	JIRA	и	Fisheye
• 90+	агентов
• Половина	агентов	в	Калифорнии,	половина	
в	Москве
• Артефакты	хранятся	прямо	на	сервере	
Bamboo
• База	на	MySQL
• Используем	для	сборки,	деплоя,	запуска	
тестов,	сбора	статистики
• Учимся	на	своих	ошибках
Статистика	сборок	за	III	квартал	2015
Упавших	(в	том	числе	тесты) 16674
Успешных 25785
Зависло 1178
Активных планов 673
0
10
20
30
40
50
60
70
80
90
100
2012 2013 2014 2015
Количество	сборочных	агентов
Маленькие	проблемы	большой	bamboo
• ssh-proxy	– не	пролезают	большие	репозитории (5Gb+)
• Использование	собственных	скриптов
• Ограниченная	функциональность	по	сборке	из	веток
• Параметризация	внутри	сборочных	скриптов
• Сложность	взаимодействия	внутри	сборки	между	работами
• Использование	файлов	и	артефактов,	сторонних	сервисов	ключ-значение
• Ограниченный	API
• Лезьте	прямо	в	базу
• Ставьте	плагины
Большие	проблемы	большой	фермы
• >40	параллельных	билдов,	>70	remote	агентов	– странные	
эффекты (по	словам	разработчиков	bamboo	– виновата	ActiveMQ)
• Пропажа	логов	и	артефактов
• Неконсистентность билдов
• Недоступность	агентов
• Растут	требования	к	серверу
• Cложно	администрировать	capability
Не	повторяйте	наших	ошибок
• Большие	логи складывать	в	файлы,	а	не	выводить	в	консоль
• Использовать	менеджмент	артефактов	на	базе	отдельных	решений
• Управлять	фермой	агентов	при	помощи	CM-системы	(chef,	ansible,	
etc)	даже	для	небольшой	фермы.	Иначе	они	очень	быстро	выходят	
из-под	контроля
• Процедуру	сборки	— в	код,	и	версионировать вместе	с	кодом
• Права	доступа	и	нотификации	назначать	через	группы
А	теперь	парочка	историй	про	наши	поделки,	
которые	кажутся	нам	интересными.
Интеграция	с	JIRA
«Обратный»	релиз	версии	– из	билда в	JIRA
Разработчик	переводит	тикет в	заданный	статус	с	версией	
1.0.0.next_build.
1. Билд успешно	прошел,	запускаем	наш	скрипт	последним	шагом
2. Ищем	версию	“next	build”	в	JIRA-проекте,	например	1.0.0.next_build
3. Переименовываем	ее	в	необходимую	(например	1.0.0.2).	В	тикетах она	
тоже	переименуется.
4. Если	надо,	то	релизим или	архивируем	предыдущую	(1.0.0.1)
5. Создаем	новую	версию	1.0.0.next_build
6. Смотрим	тикеты,	которые	были	переведены	в	статус	уже	после	начала	
билда,	и	проставляем	им	только	что	созданную	версию		1.0.0.next_build
7. Переводим	тикеты с	версией	1.0.0.2	в	заданный	статус
Тесты	на	bamboo
Самовосстанавливающиеся	тестовые	среды
Stage	1:
Поиск	выключенной	VM	из	списка
Откат	к	заданному	снапшоту
Включение	ВМ
VSphere
Stage	2:
Может	запуститься	только	на	машине	из	
списка
Запускает	тесты
Выключает	машину	если	ОК
Тестовая	VM
Тесты	на	bamboo:	Callback	из	тестовой	системы
Запуск	тестов
Формируется	json с	заданием,	
исходя	из	параметров	запуска,
в	том	числе	url manual	stage
Кластер	тестовой	системы
Запускает	тесты
По	окончании	post-запрос	к	серверу	
bamboo	для	запуска	manual	stage
“Manual	Stage”:
Сбор	данных	о	тестах,	
визуализация,	нотификация
Спасибо!	Задавайте	ваши	вопросы!
sdashkovsky@aligntech.com - пишите	мне
www.invisalign.com - сайт	нашей	компании

More Related Content

PPTX
Maybe some mock_true
PPTX
Maybe some qa
PDF
Автоматизация процесса разработки "Мобильной почты Mail.Ru" на базе продуктов...
PPTX
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
PPTX
Расширение функционала продуктов Atlassian с помощью плагинов
PPTX
Lasvit presentation technology of glass making
PDF
Moscow Atlassian Meetup. «In JIRA we trust!» Алексей Петров, Mail.Ru Group.
PPTX
DevOps - очередное красивое слово или следующая ступень эволюции?
Maybe some mock_true
Maybe some qa
Автоматизация процесса разработки "Мобильной почты Mail.Ru" на базе продуктов...
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Расширение функционала продуктов Atlassian с помощью плагинов
Lasvit presentation technology of glass making
Moscow Atlassian Meetup. «In JIRA we trust!» Алексей Петров, Mail.Ru Group.
DevOps - очередное красивое слово или следующая ступень эволюции?

Viewers also liked (12)

PDF
«DevOps — это о передаче смысла» — Александр Титов, Express 42
PDF
2015 02-07 01 Игорь Родионов. DevOps
PPTX
Практика DevOps в крупных организациях
PDF
Масштабируемый DevOps
PPTX
верещак. построение культуры Dev ops. v0.5 copy
PDF
Карго культ инструментов в DevOps
PPTX
Continuous integration using atlassian bamboo
PDF
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
PPTX
Как проекты приходят к DevOps?
PPT
Information technology & information system lecture
PPTX
пылаева дана, шоколад лего-скрам
PDF
Конструктор будущего
«DevOps — это о передаче смысла» — Александр Титов, Express 42
2015 02-07 01 Игорь Родионов. DevOps
Практика DevOps в крупных организациях
Масштабируемый DevOps
верещак. построение культуры Dev ops. v0.5 copy
Карго культ инструментов в DevOps
Continuous integration using atlassian bamboo
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Как проекты приходят к DevOps?
Information technology & information system lecture
пылаева дана, шоколад лего-скрам
Конструктор будущего
Ad

Similar to Moscow Atlassian Meetup. «Как мы растили-растили, и наконец вырастили бамбуковую ферму» Стас Дашковский, Engineer, DevOps Tooling, Align Technology. (20)

PPTX
CI для Microsoft Dynamics crm
PDF
Gaperton - Software People 2012
PDF
Devops: от заката до рассвета
PDF
Agile days `16 summary
PPTX
Automation from the trenches
PPTX
Automation from the trenches
PDF
Юлия Викторова; Александр Тарасов. DevOps без булшита.
PPTX
Никита Ремизов - Введение в разработку ТЗ
PDF
PPTX
Шаги мануальщика к автоматизации на крупном проекте
PPT
Тестирование инсталляторов
PPTX
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
PDF
Continuous Delivery in Enterprise / Agile Kitchen 2016
PPTX
Continious integration-Automated Testing-Solid-Agile
PDF
Сервисные и продуктовые IT-компании
PDF
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
PPTX
Опыт Автоматизации тестирования
PPTX
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
PDF
Bob's world презентация для ipo board
PPTX
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
CI для Microsoft Dynamics crm
Gaperton - Software People 2012
Devops: от заката до рассвета
Agile days `16 summary
Automation from the trenches
Automation from the trenches
Юлия Викторова; Александр Тарасов. DevOps без булшита.
Никита Ремизов - Введение в разработку ТЗ
Шаги мануальщика к автоматизации на крупном проекте
Тестирование инсталляторов
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continious integration-Automated Testing-Solid-Agile
Сервисные и продуктовые IT-компании
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Опыт Автоматизации тестирования
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
Bob's world презентация для ipo board
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
Ad

More from Mail.ru Group (20)

PDF
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
PDF
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
PDF
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
PDF
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
PDF
Управление инцидентами в Почте Mail.ru, Антон Викторов
PDF
DAST в CI/CD, Ольга Свиридова
PDF
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
PDF
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
PDF
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
PDF
WebAuthn в реальной жизни, Анатолий Остапенко
PDF
AMP для электронной почты, Сергей Пешков
PDF
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
PDF
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
PDF
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
PDF
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
PDF
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
PDF
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
PDF
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
PDF
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
PDF
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Управление инцидентами в Почте Mail.ru, Антон Викторов
DAST в CI/CD, Ольга Свиридова
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
WebAuthn в реальной жизни, Анатолий Остапенко
AMP для электронной почты, Сергей Пешков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()

Moscow Atlassian Meetup. «Как мы растили-растили, и наконец вырастили бамбуковую ферму» Стас Дашковский, Engineer, DevOps Tooling, Align Technology.