AgileCamp’11 Новосибирск - Continuous Integration (CI)

Anton Katkov
Anton KatkovFounder at MacBuildServer
Continuous Integration

Anton Katkov
Типичные сценарии
• Разработчик закомитил бажный код в
  репозиторий кода и ушёл домой.
• Разработчик закомитил бажный код в
  репозиторий и проблема была обнаружена
  во время Nightly Build.
Continuous Integration
... is a software development practice where members of
a team integrate their work frequently. Each integration
is verified by an automated build (including test) to
detect integration errors as quickly as possible.
Many teams find that this approach leads to significantly
reduced integration problems and allows a team to
develop cohesive software more rapidly.

http://martinfowler.com/articles/continuousIntegration.html
Martin Fowler
Вопрос



• Как CI работает на практике?
Каковы ценности CI
• Уменьшает риски
• Уменьшает число рутинных действий
• Создаёт готовое для использования
  приложение
• Делает проект более прозрачным
• Поддерживает другие инженерные
  практики
Риски разработки
•   Позднее исправление багов дорого
•   Отсутствие единства в команде
•   Низкое качество кода
•   Непрозрачность проекта
•   Отсутствие готового к использования
    приложения
CI уменьшает риски
•   Тестирование проходит регулярно
•   Процесс сборки становиться простой
•   Обнаруживаем проблемы раньше
•   Уменьшаем количество «предположений»
Почему обычно не делаем CI?
• Нет ресурсов на его поддержку
• Слишком много надо поменять в
  существующем процессе
• Слишком много билдов проваливается
• Дополнительные затраты на железо и софт
• Всё равно надо делать сборку руками
Некоторые практики CI
• Автоматизируйте сборку
• Включите тесты в процесс сборки
• Делайте сборку на каждое изменений в
  репозитории кода
• Сохраняйте процесс сборки быстрым
• Тестируйте в копии реального (production)
  окружения
• Сделайте итоговые сборки легко доступными для
  всех
• Покажите всем, что происходит – публичность
• Автоматизируйте разворачивание приложения
Особенно важно



• Автоматизируйте всё, что можно
  автоматизировать
ВЫБОР CI СЕРВЕРА
Существующие решения
Критерии
• Надёжный
• Подходит для ваших инструментов и
  технологий
• Легко настраивается и поддерживается
• Просто пользовательский интерфейс
• Содержит необходимые функции
SONAR
Метрики
Инспекции
1 of 16

Recommended

Алексей Рыстенко: Continuous Integration by
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationOleg Poludnenko
871 views35 slides
Contineous Integration by Надежда Кныш by
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышQA Club Minsk
492 views10 slides
Типовая сборка и деплой продуктов в Positive Technologies by
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
902 views29 slides
Аналитика в проектах: TFS + Qlik by
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
883 views16 slides
Развитие сообщества Open DevOps Community by
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
901 views18 slides
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs... by
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
605 views40 slides

More Related Content

What's hot

Инженерный дзен. Непрерывные изменения (Александр Титов) by
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Ontico
475 views16 slides
Использование анализатора кода SonarQube by
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
1K views15 slides
DevOps для Legacy-продуктов by
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктовScrumTrek
224 views16 slides
Continous Integration by
Continous IntegrationContinous Integration
Continous IntegrationGetDev.NET
465 views12 slides
Петр Клименко. DevOps Трансформация для SIEBEL CRM by
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMScrumTrek
475 views28 slides
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014 by
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014it-people
1K views15 slides

What's hot(20)

Инженерный дзен. Непрерывные изменения (Александр Титов) by Ontico
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)
Ontico475 views
Использование анализатора кода SonarQube by Positive Hack Days
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
DevOps для Legacy-продуктов by ScrumTrek
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
ScrumTrek224 views
Continous Integration by GetDev.NET
Continous IntegrationContinous Integration
Continous Integration
GetDev.NET465 views
Петр Клименко. DevOps Трансформация для SIEBEL CRM by ScrumTrek
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
ScrumTrek475 views
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014 by it-people
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
it-people1K views
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group by Alina Vilk
Игорь Леонтьев, 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
Alina Vilk151 views
UI тестирование WPF приложений в Дойче Банке by GoSharp
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче Банке
GoSharp1K views
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем... by ScrumTrek
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
Антон Бевзюк; Матвей Григорьев. Domain Driven Design: строительные блоки, цем...
ScrumTrek446 views
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов by COMAQA.BY
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
COMAQA.BY 190 views
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир... by Badoo Development
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Доклад Ильи Кудинова на DevConf 2013. "Организация автоматизированного тестир...
Badoo Development938 views
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт... by Badoo Development
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Badoo Development995 views
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac by 404fest
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
404fest889 views
Развитие навыков 1с специалиста до 5 го уровня by Alexey Lustin
Развитие навыков 1с специалиста до 5 го уровняРазвитие навыков 1с специалиста до 5 го уровня
Развитие навыков 1с специалиста до 5 го уровня
Alexey Lustin843 views
Distributed Version Control Systems by Igor Sidorov
Distributed Version Control SystemsDistributed Version Control Systems
Distributed Version Control Systems
Igor Sidorov479 views
Honeywell Industrial Cyber Security Lab & Services Center by Positive Hack Days
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
Positive Hack Days647 views
Automated tests ci by COMAQA.BY
Automated tests ci Automated tests ci
Automated tests ci
COMAQA.BY 343 views
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро... by Sergey Ponomarev
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
Sergey Ponomarev559 views

Viewers also liked

Solit 2013, Open Source continuous integration in java, Калачев Дмитрий by
Solit 2013, Open Source continuous integration in java, Калачев ДмитрийSolit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев Дмитрийsolit
512 views14 slides
Continious integration-Automated Testing-Solid-Agile by
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
412 views25 slides
Зачем авто-тесты нам нужны? by
Зачем авто-тесты нам нужны?Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?Vitebsk Miniq
595 views20 slides
Continuous Integration для тестировщиков by
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
1.6K views18 slides
Continuous Integration для QA by
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QAIvan Kolodyazhny
666 views39 slides
Эволюция разработки в Badoo by
Эволюция разработки в BadooЭволюция разработки в Badoo
Эволюция разработки в BadooADV/web-engineering
671 views20 slides

Viewers also liked(8)

Solit 2013, Open Source continuous integration in java, Калачев Дмитрий by solit
Solit 2013, Open Source continuous integration in java, Калачев ДмитрийSolit 2013, Open Source continuous integration in java, Калачев Дмитрий
Solit 2013, Open Source continuous integration in java, Калачев Дмитрий
solit512 views
Continious integration-Automated Testing-Solid-Agile by Kairat Yussupov
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov412 views
Зачем авто-тесты нам нужны? by Vitebsk Miniq
Зачем авто-тесты нам нужны?Зачем авто-тесты нам нужны?
Зачем авто-тесты нам нужны?
Vitebsk Miniq595 views
Continuous Integration для тестировщиков by Uladzimir Kryvenka
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
Uladzimir Kryvenka1.6K views
DersuDev #1 2015 - Continous Integration by Igor Karpovich
DersuDev #1 2015 - Continous IntegrationDersuDev #1 2015 - Continous Integration
DersuDev #1 2015 - Continous Integration
Igor Karpovich793 views
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor... by Docker, Inc.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Docker, Inc.33K views

Similar to AgileCamp’11 Новосибирск - Continuous Integration (CI)

Тестирование весна 2013 лекция 5 by
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
438 views64 slides
Software craftsmanship 8 by
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
42 views35 slides
Automation from the trenches by
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGlobalLogic Ukraine
994 views44 slides
Automation from the trenches by
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
352 views44 slides
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН) by
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Ontico
513 views45 slides
Микросервисный фронтенд by
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтендViacheslav Slinko
152 views45 slides

Similar to AgileCamp’11 Новосибирск - Continuous Integration (CI)(20)

Тестирование весна 2013 лекция 5 by Technopark
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark438 views
Software craftsmanship 8 by Pavel Veinik
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
Pavel Veinik42 views
Automation from the trenches by Gleb Rybalko
Automation from the trenchesAutomation from the trenches
Automation from the trenches
Gleb Rybalko352 views
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН) by Ontico
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Ontico513 views
Микросервисный фронтенд by Viacheslav Slinko
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
Viacheslav Slinko152 views
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins... by QAFest
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
QAFest1.4K views
Лучшие практики на практике by Denis Tuchin
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
Denis Tuchin1.5K views
Кирилл Комлев. О реализации continuous integration для web проектов by Olesya_V
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V651 views
Continuous integration для java script проектов by Andrey Kucherenko
Continuous integration для java script проектовContinuous integration для java script проектов
Continuous integration для java script проектов
Andrey Kucherenko1.3K views
Continuous integration for JavaScript projects by EPAM
Continuous integration for JavaScript projectsContinuous integration for JavaScript projects
Continuous integration for JavaScript projects
EPAM622 views
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY by Pavel Tsukanov
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
Pavel Tsukanov3.5K views
Continuous delivery on IBMi by Maxim Shatunov
Continuous delivery on IBMi Continuous delivery on IBMi
Continuous delivery on IBMi
Maxim Shatunov262 views
AgileDays'14 - современная разработка под iOS by Anton Katkov
AgileDays'14 - современная разработка под iOSAgileDays'14 - современная разработка под iOS
AgileDays'14 - современная разработка под iOS
Anton Katkov756 views
Юрий Василевский «Автоматизация в XCode» by Yandex
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
Yandex5.2K views
Юрий Василевский "Автоматизация в XCode" by Yandex
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
Yandex698 views
Виктор Розаев - Как не сломать обратную совместимость в Public API by MoscowJS
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
MoscowJS807 views
Тестирование осень 2013 лекция 5 by Technopark
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
Technopark547 views
Cеминар в Виннице (22.03.2014) by Alexander Babich
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
Alexander Babich843 views

More from Anton Katkov

AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ... by
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...Anton Katkov
787 views29 slides
AgileCamp'12 Нижний Новгород: Введение by
AgileCamp'12 Нижний Новгород: Введение AgileCamp'12 Нижний Новгород: Введение
AgileCamp'12 Нижний Новгород: Введение Anton Katkov
573 views16 slides
AgileCamp'12 Нижний Новгород: Заключение by
AgileCamp'12 Нижний Новгород: ЗаключениеAgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: ЗаключениеAnton Katkov
432 views7 slides
XP.Party (iOS) - testable code & architecture by
XP.Party (iOS) - testable code & architectureXP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architectureAnton Katkov
656 views17 slides
XP.Party (iOS) - unit tests frameworks overview by
XP.Party (iOS) - unit tests frameworks overviewXP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overviewAnton Katkov
766 views33 slides
AgileDays'12 - Continuous deployment by
AgileDays'12 - Continuous deploymentAgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deploymentAnton Katkov
354 views20 slides

More from Anton Katkov(9)

AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ... by Anton Katkov
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
AgileDays'14 - Lean Startup, Metrics Driven Development и финансы - смешать, ...
Anton Katkov787 views
AgileCamp'12 Нижний Новгород: Введение by Anton Katkov
AgileCamp'12 Нижний Новгород: Введение AgileCamp'12 Нижний Новгород: Введение
AgileCamp'12 Нижний Новгород: Введение
Anton Katkov573 views
AgileCamp'12 Нижний Новгород: Заключение by Anton Katkov
AgileCamp'12 Нижний Новгород: ЗаключениеAgileCamp'12 Нижний Новгород: Заключение
AgileCamp'12 Нижний Новгород: Заключение
Anton Katkov432 views
XP.Party (iOS) - testable code & architecture by Anton Katkov
XP.Party (iOS) - testable code & architectureXP.Party (iOS) - testable code & architecture
XP.Party (iOS) - testable code & architecture
Anton Katkov656 views
XP.Party (iOS) - unit tests frameworks overview by Anton Katkov
XP.Party (iOS) - unit tests frameworks overviewXP.Party (iOS) - unit tests frameworks overview
XP.Party (iOS) - unit tests frameworks overview
Anton Katkov766 views
AgileDays'12 - Continuous deployment by Anton Katkov
AgileDays'12 - Continuous deploymentAgileDays'12 - Continuous deployment
AgileDays'12 - Continuous deployment
Anton Katkov354 views
AgileCamp’11 Новосибирск - Test Driven Development (TDD) by Anton Katkov
AgileCamp’11 Новосибирск - Test Driven Development (TDD)AgileCamp’11 Новосибирск - Test Driven Development (TDD)
AgileCamp’11 Новосибирск - Test Driven Development (TDD)
Anton Katkov870 views
AgileCamp'11 Новосибирск - Unit Tests by Anton Katkov
AgileCamp'11 Новосибирск - Unit TestsAgileCamp'11 Новосибирск - Unit Tests
AgileCamp'11 Новосибирск - Unit Tests
Anton Katkov708 views
AgileCamp'11 Новосибирск - введение в инженерные практики by Anton Katkov
AgileCamp'11 Новосибирск - введение в инженерные практикиAgileCamp'11 Новосибирск - введение в инженерные практики
AgileCamp'11 Новосибирск - введение в инженерные практики
Anton Katkov621 views

AgileCamp’11 Новосибирск - Continuous Integration (CI)

  • 2. Типичные сценарии • Разработчик закомитил бажный код в репозиторий кода и ушёл домой. • Разработчик закомитил бажный код в репозиторий и проблема была обнаружена во время Nightly Build.
  • 3. Continuous Integration ... is a software development practice where members of a team integrate their work frequently. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly. http://martinfowler.com/articles/continuousIntegration.html Martin Fowler
  • 4. Вопрос • Как CI работает на практике?
  • 5. Каковы ценности CI • Уменьшает риски • Уменьшает число рутинных действий • Создаёт готовое для использования приложение • Делает проект более прозрачным • Поддерживает другие инженерные практики
  • 6. Риски разработки • Позднее исправление багов дорого • Отсутствие единства в команде • Низкое качество кода • Непрозрачность проекта • Отсутствие готового к использования приложения
  • 7. CI уменьшает риски • Тестирование проходит регулярно • Процесс сборки становиться простой • Обнаруживаем проблемы раньше • Уменьшаем количество «предположений»
  • 8. Почему обычно не делаем CI? • Нет ресурсов на его поддержку • Слишком много надо поменять в существующем процессе • Слишком много билдов проваливается • Дополнительные затраты на железо и софт • Всё равно надо делать сборку руками
  • 9. Некоторые практики CI • Автоматизируйте сборку • Включите тесты в процесс сборки • Делайте сборку на каждое изменений в репозитории кода • Сохраняйте процесс сборки быстрым • Тестируйте в копии реального (production) окружения • Сделайте итоговые сборки легко доступными для всех • Покажите всем, что происходит – публичность • Автоматизируйте разворачивание приложения
  • 10. Особенно важно • Автоматизируйте всё, что можно автоматизировать
  • 13. Критерии • Надёжный • Подходит для ваших инструментов и технологий • Легко настраивается и поддерживается • Просто пользовательский интерфейс • Содержит необходимые функции
  • 14. SONAR