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

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

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

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

Спасибо.

Ответ 1

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

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

https://github.com/canuckistani/JenkinsTest