Сontinuous Integration для Symfony

13
Сontinuous Integration для Symfony Igor Brovchenko [email protected]

description

Symfony Camp UA 2010: Сontinuous Integration для Symfony

Transcript of Сontinuous Integration для Symfony

Page 1: Сontinuous Integration для Symfony

Сontinuous Integration для Symfony

Igor [email protected]

Page 2: Сontinuous Integration для Symfony

Непрерывная интеграция (англ. Continuous Integration)

Это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем.

Википедия

Page 3: Сontinuous Integration для Symfony

Как организована работа CI сервера

• получение исходного кода их репозитария• сборка проекта (ручная или автоматическая)• выполнение тестов• формирование отчетов• генерация документации проекта• деплоймент готового проекта• уведомление о состоянии сборки

Page 4: Сontinuous Integration для Symfony

Continues Integration Сервера для PHP

CruiseControl + phpUnderControl

Hudson

Page 5: Сontinuous Integration для Symfony

phpUnderControl

Page 6: Сontinuous Integration для Symfony

Hudson

Page 7: Сontinuous Integration для Symfony

Список инструментов для обеспечения качества

• PHPUnit• PHP_CodeCoverage• test_helpers• phpcpd• phpdcd• phploc

• phpdep• bytekit-cli• Object_Freezer• PHP_TokenStream• File_Iterator

http://sebastian-bergmann.de/software/

Page 8: Сontinuous Integration для Symfony

Symfony и Continues Integration

Написание тестов

• The Lime Testing Framework• sfPhpunitPlugin• swFunctionalTestGenerationPlugin

Подготовка БД

• создание БД• заполнение БД тестовыми данными (fixtures)

Запуск сборки продукта

• получение исходного кода их репозитария• настройка тестового окружения • запуск тестов• запуск различных инструментов• генерация документации проекта• деплоймент готового проекта

Page 9: Сontinuous Integration для Symfony

Пример конфигурации Hudson

Page 10: Сontinuous Integration для Symfony

Hudson: Diem

Page 11: Сontinuous Integration для Symfony

Hudson: Diem 5.2

Page 12: Сontinuous Integration для Symfony

Hudson: Diem 5.2 - #20