Развертывание/непрерывная интеграция приложения 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