如何使用Capistrano或Phing有条件地替换配置文件中的标记?

时间:2012-03-23 12:20:11

标签: php deployment capistrano phing

我想尝试使用Capistrano来部署PHP应用程序,但是看不到在不同环境的配置文件中替换令牌的选项。

我正在使用Slim微框架,它只使用index.php中的数组作为配置变量,如数据库用户名等。我想在那里放置%dbuser%等令牌,这些令牌将在部署时根据是否替换我正在部署到舞台或制作。

Capistrano有可能吗?或者我会使用像Phing这样的东西吗?

1 个答案:

答案 0 :(得分:3)

在Phing中,如果您的部署是基于Phing的,则可以使用ReplaceTokens filter

示例(未测试)

<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>