Вы используете Phing? [закрыто]


Использует ли кто-нибудь Phing для развертывания приложений PHP, и если да, то как вы его используете? В настоящее время у нас есть написанный от руки сценарий "настройки", который мы запускаем всякий раз, когда развертываем новый экземпляр нашего проекта. Мы просто выписываемся из SVN и запускаем его. Он устанавливает некоторые базовые переменные конфигурации, устанавливает или перезагружает базу данных и создает v-хост для экземпляра сайта.

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

Author: cweiske, 2008-08-31

5 answers

Из сообщения в блоге Федерико Карнелутти :

Функции включают преобразования файлов (например , замену токенов, преобразование XSLT , преобразования шаблонов Smarty), операции с файловой системой, интерактивную сборку поддержка, выполнение SQL, резюме операции, инструменты для создания ГРУШИ пакеты и многое другое.

Конечно, вы могли бы написать собственные сценарии для всего вышеперечисленного. Однако использование специализированного инструмента сборки, такого как Phing, дает вам ряд выгоды. Вы будете использовать проверенный фреймворк, поэтому вместо того, чтобы беспокоиться о настройке "инфраструктуры", вы можете сосредоточиться на коде, который вам нужно написать. Использование Phing также упростит процесс, когда новые участники присоединятся к вашей команде, они смогут понять, что происходит, если они раньше использовали Phing (или Ant, на котором основан Phing).

 16
Author: Ryan Guest, 2008-08-31 08:22:20

Я перешел с Ant на Phing "просто потому, что" это PHP. Я использую его для экспорта из разных репозиториев subversion, копирования материалов, создания различных установочных пакетов и т. Д. Все это с помощью 20-строчного многоразового xml-файла и конфигурационного файла с материалами, относящимися к конкретному проекту. Я ни за что не смог бы сделать это так быстро с помощью пользовательского сценария. Я также планирую интегрировать создание документации api и модульные тесты. Обожаю это!

 7
Author: , 2009-04-26 09:10:08

Убедительный ответ для меня заключается в том, что phing понимает пути к классам PHP. Муравей этого не делает. Я не хочу иметь муравья build.xml полный исполнительных команд. Так получилось, что я в первую очередь программист на Java и все еще использую phing. Это лучший инструмент для работы.

 7
Author: user119494, 2009-06-08 22:27:15

Мы используем phing для развертывания семантической структуры:

  • создать zip-архив для распространения
  • создать пакет PEAR
  • загрузить zip в SourceForge
  • обновите канал PEAR новым файлом пакета
  • визуализируйте структурированную текстовую документацию в html-файлы и загружайте их. В настоящее время с exec, но я на пути к написанию отдельной задачи для нее.

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

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

Смотрите build.xml код.

 3
Author: cweiske, 2013-09-11 07:10:39

Я не вижу никаких веских причин соглашаться с фингом. Я имею в виду, должны ли PHP-программисты пытаться переписать Eclipse "просто потому, что" может быть как-то проще писать плагины Eclipse на PHP? Я так не думаю.

У Ant есть лучшая документация, в том числе несколько хороших книг о'Рейли, и она хорошо зарекомендовала себя во вселенной Java, поэтому вы избегаете проблем (1) "мы еще не скопировали функцию X в phing" и (2) риск того, что проект phing остановится. Вот статья о настройка PHPUnit для работы с ant и cruisecontrol: не так сложно. И вы получаете интеграцию с eclipse бесплатно.

Удачи!

 2
Author: , 2008-10-24 21:05:07