Как можно условно заменить токены в конфигурационном файле на Capistrano или Phing? - PullRequest
1 голос
/ 23 марта 2012

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

Я использую микрорамку Slim, которая просто использует массив в index.php для конфигурационных переменных, таких как имя пользователя базы данных и т. Д. Я хотел бы добавить туда токены, такие как% dbuser%, которые будут заменены во время развертывания в зависимости от Я развертываю на постановку или производство.

Возможно ли это в Капистрано? Или я бы использовал что-то вроде Phing для этого?

1 Ответ

3 голосов
/ 23 марта 2012

В Phing, если ваше развертывание основано на Phing, вы можете использовать фильтр ReplaceTokens .

Пример (не тестировался) :

<target name="-modify-config"
        hidden="true" description="Modifies the xyz.conf ">
  <copy file="${some.directory}/xyz.conf.dist"
        tofile="${some.directory}/xyz.conf"
        overwrite="true" >
    <filterchain>
      <replacetokens begintoken="%" endtoken="%">
        <token key="KEY_A" value="${value.a}" />
        <token key="KEY_B" value="${value.b}" /> 
      </replacetokens>
    </filterchain>
  </copy>
</target>
...