apo*_*rat 4 php phing deployment zend-framework
我们使用phing来部署我们的php应用程序,我们在部署环境时遇到了一个小问题.
我们有2个不同的生产环境(每个环境都有不同的配置文件)和一个单独的测试环境.我们在测试环境中没有问题,因为我们在测试环境中有一个不同的分支.问题是我们在生产环境中使用相同的分支.
有人建议我们如何使用不同的配置/设置文件部署到我们的生产环境中?我们宁愿将生产分支保留为单个分支,但不知何故将配置文件分开.我们使用zend框架,我知道配置文件中可以有的不同部分,但我们也有一个用于phing的设置文件.
我环顾四周,但似乎无法找到将命令行参数传递给phing的方法.这样的东西真的很有用:
phing -f build.xml production_live1
Run Code Online (Sandbox Code Playgroud)
Kin*_*nch 11
您可以使用它-D来设置自定义属性
phing -Denvironment=production_live1
Run Code Online (Sandbox Code Playgroud)
您可以像构建其他所有属性一样在构建文件中访问它
${environment}
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是,为每个环境创建不同的构建文件,这两个文件都包含"主"构建文件,build.xml并且只包含差异.
phing -f production_live1.xml
Run Code Online (Sandbox Code Playgroud)
(并在 production_live1.xml
<project name="production_live1" basedir="." default="all">
<import file="main.xml" />
<!-- different tasks here -->
</project>
Run Code Online (Sandbox Code Playgroud)