Непрерывная интеграция для PHP Александр Симанович.

Презентация:



Advertisements
Похожие презентации
Введение в непрерывную интеграцию Руденко Виктория Сообщество Тестировщиков Днепропетровска 26/05/2011 Ardas Group.
Advertisements

Continues Deployment iOS приложений с помощью Jenkins и TestFlight Сообщество мобильных разработчиков.
Организация процесса тестирования в Agile команде с помощью квадрантов тестирования.
Белым по черному или альтернативное использование unit-тестирования.
Процесс непрерывного улучшения в производстве ПО Оксана Щирба
Практика распределенной разработки в Open-Source проектах. Александр Веремьев (Zend Framework core team)
Тестирование веб-проектов в Agile Асхат Уразбаев, ScrumTrek.
Team System - фреймворк для автоматизации тестирования от Microsoft Футорняк Елена Apriorit Сообщество Тестировщиков Днепропетровска 29/09/2011.
Непрерывная интеграция Андрей Дзыня. Lohika Systems Kyiv.
Автоматизированное тестирование. Процесс верификации программного обеспечения, при котором основные функции и шаги теста, такие как запуск, инициализация,
Технологии конструирования программного обеспечения.
© 2012 Cogniance Inc. All Rights Reserved. «За кулисами» мобильного приложения Александр Любушин, 2013.
Компьютерные методы моделирования оптических приборов кафедра прикладной и компьютерной оптики Организация разработки программного обеспечения.
Модель команды определение ролей продолжение Microsoft Solution Framework.
Тема работы Обзор CASE-средств. Что это? Термин CASE (Computer Aided Software Engineering) CASE-средства CASE-система CASE-технология CASE-индустрия.
Технологии конструирования программного обеспечения.
Continuous Integration с нуля (Jenkins+Git+Selenium)
Особенности практической реализации процесса интеграции при разработке сложных аппаратно-программных комплексов НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ.
Контроля качества ПО. развития службы Три ступени Докладчик: Гринкевич Сергей
Организация тестового набора при автоматизированном функциональном тестировании Мария Колчинская. Xored Software.
Транксрипт:

Непрерывная интеграция для PHP Александр Симанович

Руководитель группы разработчиков MTV Entertainment в EPAM Systems PHP Skill Manager в EPAM Systems

Проект (> 1 года) Команда (5-9 человек) Итеративный процесс (демо) LAMP Zend Framework

Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте

Тестирование Рефакторинг Стандарты кодирования Частые релизы

Уменьшение количества повторяемых процессов Снижение рисков Возможность быстрого построения ПО Обеспечение лучшего контроля проекта Повышение доверия к ПО

Компиляция исходного кода Проверка Инспекция Интеграция базы данных Развертывание Документирование Обратная связь

Очистка окружения Загружаем код из репозитория Запуск тестов, анализ кода Генерация документации (API) Развертывание приложения Интеграция базы данных

Сделан для PHP, написан на PHP XML build файлы Кросс платформенный Большой выбор готовых тасков Расширяемый

ProjectTargetTask

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

В любое время, в любом месте Маркируем каждое построение Запускаем все проверки Обеспечиваем возможность отката

Состояние построения Результаты проверки Отчеты об инспекции

SMS Jabber Skype Twitter Расширение для браузера Popup IDE X10 Телевизор Звук Шар рассеянного света

Когда случается проблема Каждый час Каждый день Каждую неделю Каждый релиз

Заказчик Руководитель проекта Интегратор Технический руководитель Бизнес-аналитик Разработчик Тестеровщик

On commit По коммиту Информация команде Выполняется быстро Nightly Раз в день, ночью Информация команде, тех. лиду, менеджеру Выполняется долго (инспекция)

Уменьшение количества повторяемых процессов Снижение рисков Возможность быстрого построения ПО Обеспечение лучшего контроля проекта Повышение доверия к ПО

Долгий процесс интеграции Актуальность базы данных Стандарты кодирования Copy/Pasting Сложность кода Новый человек в проекте

Передавайте код часто Ликвидируйте проблемы незамедлительно Пишите автоматизированные проверки Все проверки должны быть пройдены Выполняйте закрытое построение

Затраты на поддержку CI Изменения процессов Слишком много неудачных построений Издержки на ПО и «железо»

Инструменты не решат ваши проблемы Вам нужна культура!

Facebook делает паблиш кода каждый день… Автоматически

Непрерывная Интеграция – Поль М. Дюваль Integrating PHP Projects with Jenkins – Sebastian Bergmann Growing Object-Oriented Software, Guided by Tests – Steve Freeman, Net Price

Skype: aliaksandr.simanovich facebook.com/alex.simanovich Blog: simanovich.infosimanovich.info