SlideShare uma empresa Scribd logo
1 de 7
Автоматизация
     Сборки
              Паньшин Дмитрий


01
Build != Compile




02   Автоматизация сборки. AgileCamp'11 Новосибирск
Build != CI




03   Автоматизация сборки. AgileCamp'11 Новосибирск
Основные этапы

     •         Компиляция
     •         Статические анализаторы и метрики
     •         Запуск тестов
     •         Интеграция с БД
     •         Создание документации
     •         Упаковка, создание инсталляционных пакетов
     •         Deployment


04   Автоматизация сборки. AgileCamp'11 Новосибирск
Идеальная Ситуация
     • Обычная машина разработчика
     • Одна строка в командной строке для запуска
       Build’a
     • Одна строка для запуска тестов
     • Максимум XXX минут
     • Запускается на всех необходимых платформах
     • Нет ручных шагов




05   Автоматизация сборки. AgileCamp'11 Новосибирск
Шаги
     •      Идентификация и анализ и процесса
     •      Разработка Build скрипта
     •      Build скрипт хранится в VCS
     •      Настроить Continuous Integration




06   Автоматизация сборки. AgileCamp'11 Новосибирск
Частые ошибки
     •    IDE-only builds
     •    Copy-and-paste scripting
     •    Long targets
     •    Hard-coded values
     •    Large build files
     •    Failing to clean up
     •    Builds that succeed when tests fail
     •    Magic machines

07       Автоматизация сборки. AgileCamp'11 Новосибирск

Mais conteúdo relacionado

Mais procurados

Rambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit ModelsRambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit ModelsRAMBLER&Co
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктовScrumTrek
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationCOMAQA.BY
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QAFest
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий МантулаFwdays
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in pythonCOMAQA.BY
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
 
Автоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомАвтоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомMaxim Vialyx
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
 
Решения сообщества для SharePoint
Решения сообщества для SharePointРешения сообщества для SharePoint
Решения сообщества для SharePointVitaly Baum
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Прямая выгода BigData для бизнеса
Прямая выгода BigData для бизнесаПрямая выгода BigData для бизнеса
Прямая выгода BigData для бизнесаAlexey Lustin
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Ontico
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем ТитаренкоCodeFest
 
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...WebCamp
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияCOMAQA.BY
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 

Mais procurados (18)

Rambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit ModelsRambler.iOS #1: Nimbus Kit Models
Rambler.iOS #1: Nimbus Kit Models
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула"Посмотрим на Акку-Джаву" Дмитрий Мантула
"Посмотрим на Акку-Джаву" Дмитрий Мантула
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Автоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомАвтоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотом
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
 
Решения сообщества для SharePoint
Решения сообщества для SharePointРешения сообщества для SharePoint
Решения сообщества для SharePoint
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Прямая выгода BigData для бизнеса
Прямая выгода BigData для бизнесаПрямая выгода BigData для бизнеса
Прямая выгода BigData для бизнеса
 
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
WebCamp2016:Front-End_Роман Якобчук_Relay, GraphQL и остальные радости соврем...
 
Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации ТестированияГотовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации Тестирования
 
Take a Look at Akka-Java
Take a Look at Akka-JavaTake a Look at Akka-Java
Take a Look at Akka-Java
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 

Destaque

Informatica isaac
Informatica isaacInformatica isaac
Informatica isaacanllel1997
 
Resumen rrpp
Resumen rrppResumen rrpp
Resumen rrppKtaDH
 
TREB Housing Market Charts October 2011
TREB Housing Market Charts October 2011TREB Housing Market Charts October 2011
TREB Housing Market Charts October 2011Brent Reid
 
Iterlimen -tik 09.2011
Iterlimen -tik 09.2011Iterlimen -tik 09.2011
Iterlimen -tik 09.2011Treeian
 
Nielsen SEA Digital Consumer Whitepaper
Nielsen SEA Digital Consumer WhitepaperNielsen SEA Digital Consumer Whitepaper
Nielsen SEA Digital Consumer WhitepaperKrishna De
 

Destaque (7)

Informatica isaac
Informatica isaacInformatica isaac
Informatica isaac
 
Resumen rrpp
Resumen rrppResumen rrpp
Resumen rrpp
 
TREB Housing Market Charts October 2011
TREB Housing Market Charts October 2011TREB Housing Market Charts October 2011
TREB Housing Market Charts October 2011
 
Huế dịu dàng
Huế dịu dàngHuế dịu dàng
Huế dịu dàng
 
Iterlimen -tik 09.2011
Iterlimen -tik 09.2011Iterlimen -tik 09.2011
Iterlimen -tik 09.2011
 
Nielsen SEA Digital Consumer Whitepaper
Nielsen SEA Digital Consumer WhitepaperNielsen SEA Digital Consumer Whitepaper
Nielsen SEA Digital Consumer Whitepaper
 
Sense títol 1
Sense títol 1Sense títol 1
Sense títol 1
 

Semelhante a AgileCamp'11. Build Automation

AgileCamp'11.Code review & Pair programming
AgileCamp'11.Code review & Pair programmingAgileCamp'11.Code review & Pair programming
AgileCamp'11.Code review & Pair programmingDmitry Panshin
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)Anton Katkov
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Continuous integration for JavaScript projects
Continuous integration for JavaScript projectsContinuous integration for JavaScript projects
Continuous integration for JavaScript projectsEPAM
 
Continuous integration для java script проектов
Continuous integration для java script проектовContinuous integration для java script проектов
Continuous integration для java script проектовAndrey Kucherenko
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CAlexey Lustin
 
RST2014_Taganrog_IncodingFramework
RST2014_Taganrog_IncodingFrameworkRST2014_Taganrog_IncodingFramework
RST2014_Taganrog_IncodingFrameworkRussianStartupTour
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительностиVladimir Sitnikov
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
 

Semelhante a AgileCamp'11. Build Automation (20)

AgileCamp'11.Code review & Pair programming
AgileCamp'11.Code review & Pair programmingAgileCamp'11.Code review & Pair programming
AgileCamp'11.Code review & Pair programming
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Continuous integration for JavaScript projects
Continuous integration for JavaScript projectsContinuous integration for JavaScript projects
Continuous integration for JavaScript projects
 
Continuous integration для java script проектов
Continuous integration для java script проектовContinuous integration для java script проектов
Continuous integration для java script проектов
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
RST2014_Taganrog_IncodingFramework
RST2014_Taganrog_IncodingFrameworkRST2014_Taganrog_IncodingFramework
RST2014_Taganrog_IncodingFramework
 
Present diplom
Present diplomPresent diplom
Present diplom
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительности
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
 

AgileCamp'11. Build Automation

  • 1. Автоматизация Сборки Паньшин Дмитрий 01
  • 2. Build != Compile 02 Автоматизация сборки. AgileCamp'11 Новосибирск
  • 3. Build != CI 03 Автоматизация сборки. AgileCamp'11 Новосибирск
  • 4. Основные этапы • Компиляция • Статические анализаторы и метрики • Запуск тестов • Интеграция с БД • Создание документации • Упаковка, создание инсталляционных пакетов • Deployment 04 Автоматизация сборки. AgileCamp'11 Новосибирск
  • 5. Идеальная Ситуация • Обычная машина разработчика • Одна строка в командной строке для запуска Build’a • Одна строка для запуска тестов • Максимум XXX минут • Запускается на всех необходимых платформах • Нет ручных шагов 05 Автоматизация сборки. AgileCamp'11 Новосибирск
  • 6. Шаги • Идентификация и анализ и процесса • Разработка Build скрипта • Build скрипт хранится в VCS • Настроить Continuous Integration 06 Автоматизация сборки. AgileCamp'11 Новосибирск
  • 7. Частые ошибки • IDE-only builds • Copy-and-paste scripting • Long targets • Hard-coded values • Large build files • Failing to clean up • Builds that succeed when tests fail • Magic machines 07 Автоматизация сборки. AgileCamp'11 Новосибирск