Развертывание / непрерывная интеграция приложения Symfony 2 с Jenkins / Hudson

#php #deployment #continuous-integration #symfony

#php #развертывание #непрерывная интеграция #symfony

Вопрос:

Я разработал приложение, которое использует платформу Symfony 2. Код приложения находится в пакете, и на моем локальном компьютере я просто загрузил стандартный дистрибутив Symfony2 и добавил пакет в папку src, как описано в руководствах, прежде чем соответствующим образом отредактировать файлы конфигурации / маршрутизации. Это сослужило мне хорошую службу с точки зрения разработки.

Теперь я начинаю думать о том, как обрабатывать зависимости фреймворка в отношении развертывания в производственной среде / настройки непрерывной интеграции. Должен ли я продолжать в том же духе, что и на сегодняшний день, используя дистрибутив и, возможно, инструмент сборки, такой как Phing, для проверки моего пакета и любых других зависимостей? Или я должен проверять только исходный код Symfony с Github и поддерживать пользовательский «дистрибутив» для моего приложения?

Я надеюсь, что кому-то еще приходилось делать подобное и он может порекомендовать решение, которое работает с минимальными затратами!

Спасибо.

Ответ №1:

Ваши тесты написаны с помощью PHPUnit? Если это так, вы можете запускать тесты напрямую с помощью ant, а затем запускать Ant из jenkins. Затем в моей настройке у меня есть второй проект, который обновляет git checkout в нашей промежуточной среде, если тест пройден. Я столкнулся с кучей проблем, связанных со всем этим (в основном с ключами github, пользовательскими разрешениями, пользовательскими средами командной строки и т.д.), Но инструменты phpqa работают очень хорошо. Я только что увидел этот пост, который выглядит как более свежее руководство по запуску всего: http://edorian.posterous.com/setting-up-jenkins-for-php-projects

У меня есть этот проект «Hello world», включающий рабочий build.xml это должно сработать, если ant и инструменты PHP настроены правильно:

https://github.com/canuckistani/JenkinsTest

Комментарии:

1. Да, я собирался использовать PHPUnit. Это звучит как хороший подход, спасибо.

2. Здесь нет упоминания о Symfony2. Означает ли это, что больше ничего не нужно делать, чтобы заставить его работать с Symfony2? Другие фреймворки нуждаются в дополнительных плагинах / настройке