В чем разница между Phing и PHPUnderControl? - PullRequest
9 голосов
/ 26 сентября 2008

В настоящее время для сборки и развертывания нашего приложения мы используем сценарий ручной настройки и настройки и сценарий непрерывной интеграции. Я пытаюсь формализовать это с помощью сторонней системы, разработанной для этих целей.

Я изучал Phing раньше и понял, что это в основном как Ant. Но мой опыт работы с муравьями несколько ограничен, так что мне это мало помогает. (Большая часть работы с Java, которую я сделал, была просто развернута как файл jar).

Я уже изучал круиз-контроль и понимаю, что phpUnderControl - это плагин для CC. Но Phing говорит, что это также работает с CC. Так что я не совсем уверен, что это совпадение. Нужны ли мне и Phing, и phpUnderControl для работы с CruiseControl, или они взаимоисключающие?

Что мне нужно, так это то, что может:

  • Проверить источник из SVN
  • Установить базу данных из файла SQL
  • Создайте несколько локальных файлов конфигурации из серии шаблонов и INI-файла
  • Запустите все наши модульные тесты (в настоящее время ST, но их легко конвертировать в PHPUnit) и отправьте электронное письмо команде разработчиков, если какие-либо тесты прервутся (с трассировкой стека, конечно)
  • Создайте документацию API для приложения и поместите ее куда-нибудь
  • Запустить отчет о тестировании покрытия

Теперь у нас есть все это в той или иной форме. Но было бы неплохо, чтобы все это было автоматизировано и объединено в один процесс.

Ответы [ 3 ]

8 голосов
/ 26 сентября 2008

phing - это в значительной степени муравей, написанный на PHP, где phpUnderControl добавляет поддержку проектов PHP в CruiseControl и использует phing или ant в бэкэнде для анализа файла build.xml и выполнения команд.

Я только что установил CruiseControl и phpUnderControl, и он отлично работает. Он проверяет мой SVN, запускает его через phpDocumentor, PHP_CodeSniffer и PHPUnit всякий раз, когда мы выполняем регистрацию. Поскольку все это основано на файле build.xml, вы можете запускать практически любое программное обеспечение, которое хотите через него.

2 голосов
/ 27 сентября 2008

Мы использовали Phing, и стоимость его установки была очень низкой; это действительно легко учиться, даже если вы не знаете ANT. У меня был очень плохой опыт работы с CruiseControl (нестабильность - случайное снижение), поэтому мне нравится простота Phing. Кроме того, его легко расширить с помощью PHP (в случае, если у вас есть пользовательское задание, которое они не поддерживают из коробки).

2 голосов
/ 26 сентября 2008

Я уверен, что многие люди скажут это, когда я наберу это, но ...

Я знаю, что это не PHP, но мы находим Capistrano просто работу для такого рода вещей. Это действительно отличная программа.

...