Continuous integration

672 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
672
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Continuous integration

  1. 1. Continuous Integration с нуля (Jenkins+Git+Selenium)
  2. 2. Немного теории:Continuous Integration (CI) - одна изфундаментальных инженерных практик вAgile разработке. Выполняет роль системыраннего обнаружения ошибок путёмавтоматического выполнения задачкомпиляции, запуска юнит тестов, сборкипроекта, запуска интеграционных тестов имногого другого…
  3. 3. Организация работы:• Получаем свежий код из репозитория• Производим сборку проекта (например «накатываем» миграции)• Выполняем тесты (unit+functional)• Выполняем дополнительные действия (например анализ кода)• Собираем и отображаем отчёты• Рассылаем уведомления, заливаем билд на live сервер, etc…
  4. 4. Плюсы:• Много различных инструментов• Тестируется всегда «свежий» билд• Актуальные сведения о состоянии системы• Подробные отчёты (что упало, кто виноват)• Регрессионное тестирование (одно «подкрутили» - другое «отвалилось»)• Всё это происходит автоматически(!)
  5. 5. Минусы:• Необходим отдельный сервер• Затраты на поддержание инфраструктуры• Необходимо обучение людей• Затраты времени на написаниеподдержку тестов (и разработчиком, и тестировщиком)• Больше ничего не придумал…
  6. 6. Инструменты:
  7. 7. Создание проекта (шаг 1)
  8. 8. Создание проекта (шаг 2)
  9. 9. Создание проекта (шаг 3)
  10. 10. Создание проекта (шаг 4)
  11. 11. Создание проекта (шаг 5)
  12. 12. Запускаем билд:
  13. 13. Анализируем результат (вывод из консоли):
  14. 14. Анализируем результат (общая информация):
  15. 15. Анализируем результат (Test Results):
  16. 16. Анализируем результат (Test Results):
  17. 17. Анализируем результат (Duplicate Code):
  18. 18. А как же Selenium?
  19. 19. Материалы:• Phing http://www.phing.info/docs/guide/stable/• PHPUnit http://www.phpunit.de/manual/3.6/en/appe ndixes.configuration.html• Jenkins http://wiki.jenkins-ci.org/display/ JENKINS/Home

×