Подтвердить что ты не робот

Вы используете Phing?

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

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

4b9b3361

Ответ 1

От Federico Cargnelutti сообщение в блоге:

Особенности включают в себя преобразования файлов (например, токен замена, преобразование XSLT, Smarty), файл системные операции, интерактивная сборка поддержка, выполнение SQL, CVS операции, инструменты для создания PEAR пакеты и многое другое.

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

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

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

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

Ответ 5

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

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

Удачи!