В чем разница между Phing и PHPUnderControl?

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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
9
0
2 411
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

Ответ принят как подходящий

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

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

Вы же не хотите приводить этому пример? :)

Kerry Jones 22.08.2011 22:29

Я бы хотел, но у меня больше нет моего файла сборки: P Многие люди сейчас хотят использовать Jenkins: jenkins-php.org

dragonmantank 23.08.2011 17:43

Потрясающе - не уверен, стоит ли мне спрашивать об этом здесь, но, возможно, вы могли бы внести правку или другую информацию о Jenkins vs. PhpUnderControl vs. Phing?

Kerry Jones 23.08.2011 21:47

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

Другие вопросы по теме