使用Phing部署不同环境

4
我们正在使用phing来部署我们的php应用程序,但在部署环境时遇到了一些问题。
我们有两个不同的生产环境(每个环境都有不同的配置文件),以及一个单独的测试环境。我们的测试环境没有问题,因为我们为测试环境使用了不同的分支。问题是我们对两个生产环境使用相同的分支。
是否有人有建议,如何使用不同的配置/设置文件部署到我们的生产环境中?我们更倾向于将生产分支保持为单一分支,但需要分离配置文件。我们使用zend框架,并且我知道配置文件中可以有不同的部分,但我们还有一个phing的设置文件。
我搜索了一下,但似乎找不到一种方法来将命令行参数传递给phing。像这样的东西可能非常有用:
  phing -f build.xml production_live1
1个回答

11

您可以使用-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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接