Вопрос

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

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

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

Решение

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

  

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

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

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

Я перешел из Ant в Phing «просто потому, что» это PHP. Я использую его для экспорта из разных репозиториев Subversion, копирования содержимого, создания различных установочных пакетов и т. Д. - все это с помощью 20-строчного многократно используемого XML-файла и файла конфигурации с конкретными элементами проекта. Я никак не мог сделать это так быстро с помощью специального скрипта. Я также планирую интегрировать создание документации API и модульные тесты. Люблю это!

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

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

  • сгенерировать zip-архив для распространения
  • Создать ГРУША упаковка
  • загрузка застежка - молния в SourceForge
  • обновите ГРУШЕВИДНЫЙ канал с новым файлом пакета
  • визуализируйте реструктурированную текстовую документацию в html-файлы и загружайте их.В настоящее время с exec но я уже в пути, пишу отдельная задача за это.

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

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

Посмотрите на build.xml код.

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

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

Удачи!

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