использование phing для развертывания различных сред - PullRequest
4 голосов
/ 03 октября 2011

Мы используем phing для развертывания нашего php-приложения, и у нас возникла небольшая проблема с развертыванием наших сред.

У нас есть 2 разные производственные среды (каждая с разными файлами конфигурации) и отдельное тестирование.среда.У нас нет проблем со средой тестирования, так как у нас есть другая ветвь для среды тестирования.Проблема в том, что мы используем одну и ту же ветвь для обеих наших производственных сред.

У кого-нибудь есть предложения о том, как мы можем внедрить в наши производственные среды различные файлы конфигурации / настройки?Мы предпочитаем хранить производственную ветвь как единую ветвь, но каким-то образом разделяем файлы конфигурации.Мы используем Zend Framework, и я знаю о различных разделах, которые мы можем иметь в файлах конфигурации, но у нас также есть файл настроек для phing.

Я оглянулся, но не могу найти способ передать аргументы командной строки в phing.Нечто подобное может быть действительно полезным:

  phing -f build.xml production_live1

1 Ответ

11 голосов
/ 03 октября 2011

Вы можете использовать -D для установки пользовательских свойств

phing -Denvironment=production_live1

Вы можете получить к нему доступ в файле сборки, как и любое другое свойство

${environment}

Другим решением может быть создание разных файлов сборки для каждой среды, которая включает в себя «основной» файл сборки build.xml и содержит только различия.

phing -f production_live1.xml

(и в production_live1.xml

<project name="production_live1" basedir="." default="all">
  <import file="main.xml" />
  <!-- different tasks here -->
</project>
...