Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top