В настоящее время мы используем вручную созданный сценарий установки и конфигурации и созданный вручную сценарий непрерывной интеграции для создания и развертывания нашего приложения. Я собираюсь формализовать это с помощью сторонней системы, разработанной для этих целей.
Я уже заглядывал в Phing раньше и понял, что это в основном как Ant. Но мой опыт работы с Ant несколько ограничен, так что это мне не очень помогает. (Большая часть работы над Java, которую я проделал, была просто развернута как файл jar).
Раньше я изучал круиз-контроль и понимаю, что phpUnderControl - это подключаемый модуль для CC. Но Пинг говорит, что это также работает с CC. Так что я не совсем понимаю, что здесь перекрывается. Нужны ли мне и Phing, и phpUnderControl для работы с CruiseControl, или они взаимоисключающие?
Что мне нужно, так это то, что может:
Теперь у нас есть примерно все это в той или иной форме. Но было бы неплохо, если бы все это было автоматизировано и объединено в один процесс.






Я уверен, что многие люди скажут это, когда я напечатаю это, но ...
Я знаю, что это не PHP, но мы находим Capistrano как раз для такого рода вещей. Это действительно отличная программа.
phing в значительной степени написан на PHP, где phpUnderControl добавляет поддержку проектов PHP в CruiseControl и использует phing или ant на бэкэнде для анализа файла build.xml и выполнения команд.
Я только что настроил CruiseControl и phpUnderControl, и он отлично работает. Он проверяет мой SVN, запускает его через phpDocumentor, PHP_CodeSniffer и PHPUnit всякий раз, когда мы выполняем проверку. Поскольку все это основано на файле build.xml, вы можете запускать через него практически любое программное обеспечение.
Я бы хотел, но у меня больше нет моего файла сборки: P Многие люди сейчас хотят использовать Jenkins: jenkins-php.org
Потрясающе - не уверен, стоит ли мне спрашивать об этом здесь, но, возможно, вы могли бы внести правку или другую информацию о Jenkins vs. PhpUnderControl vs. Phing?
Мы использовали Phing, и стоимость его установки была очень низкой; его действительно легко выучить, даже если вы не знаете ANT. У меня был очень плохой опыт работы с CruiseControl (нестабильность - случайное падение), поэтому мне нравится простота Phing. Кроме того, его легко расширять с помощью PHP (если у вас есть настраиваемая задача, которую они не поддерживают из коробки).
Вы же не хотите приводить этому пример? :)