SlideShare una empresa de Scribd logo
1 de 22
Continuous Integration for PHP projects
 Долгий процесс интеграции
 Актуальность базы данных
 Стандарты кодирования
 Copy/Pasting
 Сложность кода
 Новый человек в проекте
 Уменьшение количества повторяемых
процессов
 Снижение рисков
 Возможность быстрого построения ПО
 Обеспечение лучшего контроля проекта
 Повышение доверия к ПО
 Компиляция исходного кода
 Проверка
 Инспекция
 Интеграция базы данных
 Развертывание
 Документирование
 Обратная связь
 Очистка окружения
 Загружаем код из репозитория
 Запуск тестов, анализ кода
 Генерация документации (API)
 Подключение библиотек и фреймворка
 Развертывание приложения и базы данных
 Уменьшение количества повторяемых
процессов
 Снижение рисков
 Возможность быстрого построения ПО
 Обеспечение лучшего контроля проекта
 Повышение доверия к ПО
 Долгий процесс интеграции
 Актуальность базы данных
 Стандарты кодирования
 Copy/Pasting
 Сложность кода
 Новый человек в проекте
 Передавайте код часто
 Ликвидируйте проблемы
незамедлительно
 Пишите автоматизированные проверки
 Все проверки должны быть пройдены
 Выполняйте закрытое построение
 Затраты на поддержку CI
 Изменения процессов
 Слишком много неудачных построений
 Издержки на ПО и «железо»
Инструменты не решат ваши проблемы
Вам нужна культура!
• Непрерывная Интеграция – Поль М. Дюваль
• Integrating PHP Projects with Jenkins – Sebastian
Bergmann
• Growing Object-Oriented Software, Guided byTests
– Steve Freeman, Net Price
• Email: as@extrascript.com
• Skype: aliaksandr.simanovich
• Twitter: @simanjan
• Blog: simanovich.info
Continuous Integration for PHP projects - Theory by Alex Simanovich

Más contenido relacionado

La actualidad más candente

WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформаSQALab
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Ontico
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в AgileSQALab
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
Гибкое нагрузочное тестирование | IT Spring 2014
Гибкое нагрузочное тестирование | IT Spring 2014Гибкое нагрузочное тестирование | IT Spring 2014
Гибкое нагрузочное тестирование | IT Spring 2014Ignat Krukovsky
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникSQALab
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Continuous delivery on IBMi
Continuous delivery on IBMi Continuous delivery on IBMi
Continuous delivery on IBMi Maxim Shatunov
 
Автоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомАвтоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомMaxim Vialyx
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsSQALab
 
Архитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиАрхитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиSQALab
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиSQALab
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестированииSQALab
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияSQALab
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Особенности тестирования аудио\видео интерфейсов
Особенности тестирования аудио\видео интерфейсовОсобенности тестирования аудио\видео интерфейсов
Особенности тестирования аудио\видео интерфейсовSQALab
 
Подход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerПодход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerSQALab
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 

La actualidad más candente (20)

WP как экспериментальная платформа
WP как экспериментальная платформаWP как экспериментальная платформа
WP как экспериментальная платформа
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в Agile
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Гибкое нагрузочное тестирование | IT Spring 2014
Гибкое нагрузочное тестирование | IT Spring 2014Гибкое нагрузочное тестирование | IT Spring 2014
Гибкое нагрузочное тестирование | IT Spring 2014
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в ТитаникПодводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Enter: testing
Enter: testingEnter: testing
Enter: testing
 
Continuous delivery on IBMi
Continuous delivery on IBMi Continuous delivery on IBMi
Continuous delivery on IBMi
 
Автоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотомАвтоматизируй это! Jenkins с fastlane под капотом
Автоматизируй это! Jenkins с fastlane под капотом
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Архитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиАрхитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной области
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Особенности тестирования аудио\видео интерфейсов
Особенности тестирования аудио\видео интерфейсовОсобенности тестирования аудио\видео интерфейсов
Особенности тестирования аудио\видео интерфейсов
 
Подход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerПодход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL Server
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 

Similar a Continuous Integration for PHP projects - Theory by Alex Simanovich

Подводные камни при внедрении электронного архива и оцифровке документов
Подводные камни при внедрении электронного архива и оцифровке документовПодводные камни при внедрении электронного архива и оцифровке документов
Подводные камни при внедрении электронного архива и оцифровке документовLANIT
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest
 
Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)aragozin
 
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
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5rit2010
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)Anton Katkov
 
Bachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionBachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionDenis Zakharov
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организацияхSoftmart
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Maxim Avdyunin
 
Роль интеграции в разработке ПО
Роль интеграции в разработке ПОРоль интеграции в разработке ПО
Роль интеграции в разработке ПОSQALab
 
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...ScrumTrek
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
 

Similar a Continuous Integration for PHP projects - Theory by Alex Simanovich (20)

Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Подводные камни при внедрении электронного архива и оцифровке документов
Подводные камни при внедрении электронного архива и оцифровке документовПодводные камни при внедрении электронного архива и оцифровке документов
Подводные камни при внедрении электронного архива и оцифровке документов
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
 
Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)
 
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)
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5Anatol Filin Pragmatic Documentation 0 5
Anatol Filin Pragmatic Documentation 0 5
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Bachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionBachelors Diploma Slides Short Version
Bachelors Diploma Slides Short Version
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организациях
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
 
Роль интеграции в разработке ПО
Роль интеграции в разработке ПОРоль интеграции в разработке ПО
Роль интеграции в разработке ПО
 
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
Сергей Смирнов, Виталий Александров. Оздоровление унаследованной информационн...
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 

Más de php-user-group-minsk

Development on the Knee by Vladimir Khramtsov
Development on the Knee by Vladimir KhramtsovDevelopment on the Knee by Vladimir Khramtsov
Development on the Knee by Vladimir Khramtsovphp-user-group-minsk
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьТо, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьphp-user-group-minsk
 
Composer in the wilderness by Josef Bielawski
Composer in the wilderness by Josef BielawskiComposer in the wilderness by Josef Bielawski
Composer in the wilderness by Josef Bielawskiphp-user-group-minsk
 

Más de php-user-group-minsk (6)

Development on the Knee by Vladimir Khramtsov
Development on the Knee by Vladimir KhramtsovDevelopment on the Knee by Vladimir Khramtsov
Development on the Knee by Vladimir Khramtsov
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
MongoDB & PHP by Alex Litvinok
MongoDB & PHP by Alex LitvinokMongoDB & PHP by Alex Litvinok
MongoDB & PHP by Alex Litvinok
 
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьТо, что вы хотели знать о HandlerSocket, но не смогли нагуглить
То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
 
Composer talk by Maxim Romanovsky
Composer talk by Maxim RomanovskyComposer talk by Maxim Romanovsky
Composer talk by Maxim Romanovsky
 
Composer in the wilderness by Josef Bielawski
Composer in the wilderness by Josef BielawskiComposer in the wilderness by Josef Bielawski
Composer in the wilderness by Josef Bielawski
 

Continuous Integration for PHP projects - Theory by Alex Simanovich

  • 2.
  • 3.  Долгий процесс интеграции  Актуальность базы данных  Стандарты кодирования  Copy/Pasting  Сложность кода  Новый человек в проекте
  • 4.  Уменьшение количества повторяемых процессов  Снижение рисков  Возможность быстрого построения ПО  Обеспечение лучшего контроля проекта  Повышение доверия к ПО
  • 5.  Компиляция исходного кода  Проверка  Инспекция  Интеграция базы данных  Развертывание  Документирование  Обратная связь
  • 6.  Очистка окружения  Загружаем код из репозитория  Запуск тестов, анализ кода  Генерация документации (API)  Подключение библиотек и фреймворка  Развертывание приложения и базы данных
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.  Уменьшение количества повторяемых процессов  Снижение рисков  Возможность быстрого построения ПО  Обеспечение лучшего контроля проекта  Повышение доверия к ПО
  • 15.  Долгий процесс интеграции  Актуальность базы данных  Стандарты кодирования  Copy/Pasting  Сложность кода  Новый человек в проекте
  • 16.  Передавайте код часто  Ликвидируйте проблемы незамедлительно  Пишите автоматизированные проверки  Все проверки должны быть пройдены  Выполняйте закрытое построение
  • 17.
  • 18.  Затраты на поддержку CI  Изменения процессов  Слишком много неудачных построений  Издержки на ПО и «железо»
  • 19. Инструменты не решат ваши проблемы Вам нужна культура!
  • 20. • Непрерывная Интеграция – Поль М. Дюваль • Integrating PHP Projects with Jenkins – Sebastian Bergmann • Growing Object-Oriented Software, Guided byTests – Steve Freeman, Net Price
  • 21. • Email: as@extrascript.com • Skype: aliaksandr.simanovich • Twitter: @simanjan • Blog: simanovich.info

Notas del editor

  1. «Непрерывная интеграция это практика разработки ПО, в которой участники команды интегрируют свою работу часто, как минимум ежедневно. Каждая интеграция проверяется автоматической сборкой (включающей тесты) для обнаружения ошибок, как можно быстрее.»Мартин Фаулер
  2. Повторяемые процессы:деплоймент, сборка/сжатие/конвертация файлов, поменять права, их последовательность…Мы люди, нам скучно, мы можем забывать, мы можем ошибаться…- «Ой, я забыл закомитить файл»- «Я забыл протестировать, запустить тесты»- «На моей машине это работает»- Реализация одной фичи убила другую фичуНе найденные во время дефекты, контроль состояния проекта, качество
  3. Повторы при деплойменте:permissions, configurations, environment setupКачество:- Тестирование- Рефакторинг- Стандарты кодирования- Частые релизы
  4. Загружает код из репозиторияЗапускает buildСоставляет репортыОтправляет обратную связь
  5. Проверка == Автоматические тесты«Качество – это когда все сделано правильно, даже если никто не проверяет»Генри Форд
  6. Инспекция != ПроверкаИнспекция:Анализ кода на основании предопределенных правилПроверка: Динамическое исследование функциональных возможностейСнижаем сложность кодаПоддерживаем стандартыкодаСледим за дублированным кодомОцениваем покрытие кода тестами
  7. Управляет изменениями в БДSQL Delta скрипты
  8. В любое время, в любом местеМаркируем каждое построениеЗапускаем все проверкиОбеспечиваем возможность отката
  9. Дописываем target «deploy»для удаленных серверовСоздаем Job для разворачивания на dev-сервереСоздаем ночной JobСоздаем Job для разворачивания на staging/live server
  10. Состояние построенияРезультаты проверкиОтчеты об инспекцииПравильный способПравильное времяПравильные люди
  11. Может перенести вниз