SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
Непрерывная интеграция для PHP




                                 Александр Симанович
   Руководитель группы разработчиков
    MTV Entertainment в EPAM Systems
   PHP Skill Manager в EPAM Systems
http://tiny.cc/2ws8ew
   Проект (> 1 года)
   Команда (5-9 человек)
   Итеративный процесс (демо)
   LAMP
   Zend Framework
   Долгий процесс интеграции
   Актуальность базы данных
   Стандарты кодирования
   Copy/Pasting
   Сложность кода
   Новый человек в проекте
   Тестирование
   Рефакторинг
   Стандарты кодирования
   Частые релизы
   Уменьшение количества повторяемых
    процессов
   Снижение рисков
   Возможность быстрого построения ПО
   Обеспечение лучшего контроля проекта
   Повышение доверия к ПО
   Компиляция исходного кода
   Проверка
   Инспекция
   Интеграция базы данных
   Развертывание
   Документирование
   Обратная связь
   Очистка окружения
   Загружаем код из репозитория
   Запуск тестов, анализ кода
   Генерация документации (API)
   Подключение библиотек и фреймворка
   Развертывание приложения и базы данных
   Сделан для PHP, написан на PHP
   XML build файлы
   Кросс платформенный
   Большой выбор готовых тасков
   Расширяемый
Project   Target   Task
   Jenkins/Hudson
   CruiseControl/phpUnderControl
   Bamboo от Atlassian
   TeamCity от JetBrains
   Travis
   Репозиторий плагинов (более 400)
   Сообщество контрибьюторов
   Open source
   Кроссплатформенность
   Web интерфейс
   Простота использования
   API
   Ручное тестирование
   Unit tests
   Acceptance (End-to-End) tests
   Integration tests
   Снижаем сложность кода
   Поддерживаем стандарты кода
   Следим за дублированным кодом
   Оцениваем покрытие кода тестами
php –l index.php
   В любое время, в любом месте
   Маркируем каждое построение
   Запускаем все проверки
   Обеспечиваем возможность отката
   Состояние построения
   Результаты проверки
   Отчеты об инспекции
   Email               Popup
   SMS                 IDE
   Jabber              X10
   Skype               Телевизор
   Twitter             Звук
   Расширение для      Шар рассеянного
    браузера             света
   Когда случается проблема
   Каждый час
   Каждый день
   Каждую неделю
   Каждый релиз
   Заказчик
   Руководитель проекта
   Интегратор
   Технический руководитель
   Бизнес-аналитик
   Разработчик
   Тестеровщик
   On commit
     По коммиту
     Информация команде
     Выполняется быстро
   Nightly
     Раз в день, ночью
     Информация команде, тех. лиду, менеджеру
     Выполняется долго (инспекция)
   Уменьшение количества повторяемых
    процессов
   Снижение рисков
   Возможность быстрого построения ПО
   Обеспечение лучшего контроля проекта
   Повышение доверия к ПО
   Долгий процесс интеграции
   Актуальность базы данных
   Стандарты кодирования
   Copy/Pasting
   Сложность кода
   Новый человек в проекте
   Передавайте код часто
   Ликвидируйте проблемы
    незамедлительно
   Пишите автоматизированные проверки
   Все проверки должны быть пройдены
   Выполняйте закрытое построение
   Затраты на поддержку CI
   Изменения процессов
   Слишком много неудачных построений
   Издержки на ПО и «железо»
Инструменты не решат ваши проблемы

       Вам нужна культура!
Facebook делает паблиш кода каждый день…

             Автоматически




http://tiny.cc/ngs8ew
• Непрерывная Интеграция – Поль М. Дюваль
• Integrating PHP Projects with Jenkins – Sebastian
  Bergmann
• Growing Object-Oriented Software, Guided by Tests
  – Steve Freeman, Net Price
•   Email: as@extrascript.com
•   Skype: aliaksandr.simanovich
•   Twitter: @simanjan
•   Blog: simanovich.info
Project under control

Weitere ähnliche Inhalte

Was ist angesagt?

Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестированииSQALab
 
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...SQALab
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел СташевскийDevDay
 
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...COMAQA.BY
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 
Автоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеАвтоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеEvgeny Savitsky
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовSQALab
 
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...SQALab
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияSQALab
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevDay
 
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИСDevops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС2ГИС Технологии
 
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийMairbek Khadikov
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioSQALab
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Профессиональное управление распределенными проектами
Профессиональное управление распределенными проектамиПрофессиональное управление распределенными проектами
Профессиональное управление распределенными проектамиEvgeny Savitsky
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеGoSharp
 

Was ist angesagt? (20)

Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов н...
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
Автоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапеАвтоматическое управление DevOps активностями в стартапе
Автоматическое управление DevOps активностями в стартапе
 
Тестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностямиТестирование доступности ПО для людей с ограниченными возможностями
Тестирование доступности ПО для людей с ограниченными возможностями
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
 
Devops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим ПашукDevops-практики в разработке решений для бизнеса, Максим Пашук
Devops-практики в разработке решений для бизнеса, Максим Пашук
 
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИСDevops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС
Devops-практики в разработке решений для бизнеса — Максим Пашук, 2ГИС
 
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложений
 
GUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test StudioGUI-автоматизация в Telerik Test Studio
GUI-автоматизация в Telerik Test Studio
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Профессиональное управление распределенными проектами
Профессиональное управление распределенными проектамиПрофессиональное управление распределенными проектами
Профессиональное управление распределенными проектами
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
UI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче БанкеUI тестирование WPF приложений в Дойче Банке
UI тестирование WPF приложений в Дойче Банке
 
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 

Andere mochten auch

Firefox Thunderbird Seamonkey - felpörgetve!
Firefox Thunderbird Seamonkey - felpörgetve!Firefox Thunderbird Seamonkey - felpörgetve!
Firefox Thunderbird Seamonkey - felpörgetve!Kálmán "KAMI" Szalai
 
MAE235_project
MAE235_projectMAE235_project
MAE235_projectYixuan Jia
 
华为时间管理培训
华为时间管理培训华为时间管理培训
华为时间管理培训VImLai
 
变迁与机遇 :2012年的中国移动互联网
变迁与机遇 :2012年的中国移动互联网变迁与机遇 :2012年的中国移动互联网
变迁与机遇 :2012年的中国移动互联网VImLai
 
بوربوينت برج خليفة
بوربوينت برج خليفةبوربوينت برج خليفة
بوربوينت برج خليفةEman yousuf
 
Karatini vved v-phil-8l[1]
Karatini vved v-phil-8l[1]Karatini vved v-phil-8l[1]
Karatini vved v-phil-8l[1]Slava Yanko
 
Notizia telefil grachi da elena e enza
Notizia telefil grachi da elena e enzaNotizia telefil grachi da elena e enza
Notizia telefil grachi da elena e enzamjluquino
 
цахим хэрэглэгдэхүүн 1
цахим хэрэглэгдэхүүн 1цахим хэрэглэгдэхүүн 1
цахим хэрэглэгдэхүүн 1pvsa_8990
 
Haziran kampanya lansman sunumu
Haziran kampanya lansman sunumu Haziran kampanya lansman sunumu
Haziran kampanya lansman sunumu niclug
 
Aula 007 - obrigações - CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕES
Aula 007 - obrigações -  CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕESAula 007 - obrigações -  CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕES
Aula 007 - obrigações - CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕESTércio De Santana
 

Andere mochten auch (20)

Firefox Thunderbird Seamonkey - felpörgetve!
Firefox Thunderbird Seamonkey - felpörgetve!Firefox Thunderbird Seamonkey - felpörgetve!
Firefox Thunderbird Seamonkey - felpörgetve!
 
Excursion rus
Excursion rusExcursion rus
Excursion rus
 
Semana santa
Semana santaSemana santa
Semana santa
 
MAE235_project
MAE235_projectMAE235_project
MAE235_project
 
华为时间管理培训
华为时间管理培训华为时间管理培训
华为时间管理培训
 
变迁与机遇 :2012年的中国移动互联网
变迁与机遇 :2012年的中国移动互联网变迁与机遇 :2012年的中国移动互联网
变迁与机遇 :2012年的中国移动互联网
 
بوربوينت برج خليفة
بوربوينت برج خليفةبوربوينت برج خليفة
بوربوينت برج خليفة
 
Karatini vved v-phil-8l[1]
Karatini vved v-phil-8l[1]Karatini vved v-phil-8l[1]
Karatini vved v-phil-8l[1]
 
Notizia telefil grachi da elena e enza
Notizia telefil grachi da elena e enzaNotizia telefil grachi da elena e enza
Notizia telefil grachi da elena e enza
 
Mini week in england 3
Mini week in england 3Mini week in england 3
Mini week in england 3
 
цахим хэрэглэгдэхүүн 1
цахим хэрэглэгдэхүүн 1цахим хэрэглэгдэхүүн 1
цахим хэрэглэгдэхүүн 1
 
Haziran kampanya lansman sunumu
Haziran kampanya lansman sunumu Haziran kampanya lansman sunumu
Haziran kampanya lansman sunumu
 
Presi
PresiPresi
Presi
 
Aula 007 - obrigações - CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕES
Aula 007 - obrigações -  CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕESAula 007 - obrigações -  CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕES
Aula 007 - obrigações - CLASSIFICAÇÃO ou MODALIDADES DE OBRIGAÇÕES
 
Booosting rapportage.studie renovatie en transformatietechnologie-2005
Booosting rapportage.studie renovatie  en transformatietechnologie-2005Booosting rapportage.studie renovatie  en transformatietechnologie-2005
Booosting rapportage.studie renovatie en transformatietechnologie-2005
 
Presentacion
PresentacionPresentacion
Presentacion
 
La bolsa
La bolsaLa bolsa
La bolsa
 
Fairy Land
Fairy LandFairy Land
Fairy Land
 
Grelha de guiao
Grelha de guiaoGrelha de guiao
Grelha de guiao
 
Andrej vi def
Andrej vi defAndrej vi def
Andrej vi def
 

Ähnlich wie Project under control

Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IToleg.bunin
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
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
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseDmitry Semenov
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюSQALab
 
Bachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionBachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionDenis Zakharov
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsMicrosoft
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalMicrosoft
 
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
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...QA Club Minsk
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская qasib
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Безопаность SAP-систем
Безопаность SAP-системБезопаность SAP-систем
Безопаность SAP-системAlexey Kachalin
 

Ähnlich wie Project under control (20)

Java one presentation
Java one presentationJava one presentation
Java one presentation
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Экономика проекта с точки зрения IT
Экономика проекта с точки зрения ITЭкономика проекта с точки зрения IT
Экономика проекта с точки зрения IT
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
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)
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Symfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork EnterpriseSymfony в архитектуре Upwork Enterprise
Symfony в архитектуре Upwork Enterprise
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Bachelors Diploma Slides Short Version
Bachelors Diploma Slides Short VersionBachelors Diploma Slides Short Version
Bachelors Diploma Slides Short Version
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm final
 
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)
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Безопаность SAP-систем
Безопаность SAP-системБезопаность SAP-систем
Безопаность SAP-систем
 

Project under control

  • 1. Непрерывная интеграция для PHP Александр Симанович
  • 2.
  • 3. Руководитель группы разработчиков MTV Entertainment в EPAM Systems  PHP Skill Manager в EPAM Systems
  • 5.
  • 6. Проект (> 1 года)  Команда (5-9 человек)  Итеративный процесс (демо)  LAMP  Zend Framework
  • 7. Долгий процесс интеграции  Актуальность базы данных  Стандарты кодирования  Copy/Pasting  Сложность кода  Новый человек в проекте
  • 8. Тестирование  Рефакторинг  Стандарты кодирования  Частые релизы
  • 9. Уменьшение количества повторяемых процессов  Снижение рисков  Возможность быстрого построения ПО  Обеспечение лучшего контроля проекта  Повышение доверия к ПО
  • 10. Компиляция исходного кода  Проверка  Инспекция  Интеграция базы данных  Развертывание  Документирование  Обратная связь
  • 11.
  • 12.
  • 13. Очистка окружения  Загружаем код из репозитория  Запуск тестов, анализ кода  Генерация документации (API)  Подключение библиотек и фреймворка  Развертывание приложения и базы данных
  • 14. Сделан для PHP, написан на PHP  XML build файлы  Кросс платформенный  Большой выбор готовых тасков  Расширяемый
  • 15. Project Target Task
  • 16.
  • 17.
  • 18. Jenkins/Hudson  CruiseControl/phpUnderControl  Bamboo от Atlassian  TeamCity от JetBrains  Travis
  • 19. Репозиторий плагинов (более 400)  Сообщество контрибьюторов  Open source  Кроссплатформенность  Web интерфейс  Простота использования  API
  • 20.
  • 21.
  • 22. Ручное тестирование  Unit tests  Acceptance (End-to-End) tests  Integration tests
  • 23.
  • 24.
  • 25. Снижаем сложность кода  Поддерживаем стандарты кода  Следим за дублированным кодом  Оцениваем покрытие кода тестами
  • 26.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35. В любое время, в любом месте  Маркируем каждое построение  Запускаем все проверки  Обеспечиваем возможность отката
  • 36.
  • 37.
  • 38. Состояние построения  Результаты проверки  Отчеты об инспекции
  • 39.
  • 40. Email  Popup  SMS  IDE  Jabber  X10  Skype  Телевизор  Twitter  Звук  Расширение для  Шар рассеянного браузера света
  • 41. Когда случается проблема  Каждый час  Каждый день  Каждую неделю  Каждый релиз
  • 42. Заказчик  Руководитель проекта  Интегратор  Технический руководитель  Бизнес-аналитик  Разработчик  Тестеровщик
  • 43. On commit  По коммиту  Информация команде  Выполняется быстро  Nightly  Раз в день, ночью  Информация команде, тех. лиду, менеджеру  Выполняется долго (инспекция)
  • 44.
  • 45. Уменьшение количества повторяемых процессов  Снижение рисков  Возможность быстрого построения ПО  Обеспечение лучшего контроля проекта  Повышение доверия к ПО
  • 46. Долгий процесс интеграции  Актуальность базы данных  Стандарты кодирования  Copy/Pasting  Сложность кода  Новый человек в проекте
  • 47. Передавайте код часто  Ликвидируйте проблемы незамедлительно  Пишите автоматизированные проверки  Все проверки должны быть пройдены  Выполняйте закрытое построение
  • 48.
  • 49. Затраты на поддержку CI  Изменения процессов  Слишком много неудачных построений  Издержки на ПО и «железо»
  • 50. Инструменты не решат ваши проблемы Вам нужна культура!
  • 51.
  • 52. Facebook делает паблиш кода каждый день… Автоматически http://tiny.cc/ngs8ew
  • 53. • Непрерывная Интеграция – Поль М. Дюваль • Integrating PHP Projects with Jenkins – Sebastian Bergmann • Growing Object-Oriented Software, Guided by Tests – Steve Freeman, Net Price
  • 54. Email: as@extrascript.com • Skype: aliaksandr.simanovich • Twitter: @simanjan • Blog: simanovich.info