我正在尝试进入CI的思维模式,这个周末一直在玩Phing。一切看起来都很简单,可以使用,并且已经有很多示例。然而,仍然让我感到困惑的是人们实际使用它的方式。也就是说,我不是在寻找您进行的测试,而是在寻找使用Phing的建议工作流程,您在哪个阶段激活它,在开发周期的哪个阶段采取行动。例如,我们有几个网站,目前我们在本地编辑源代码并保存上传到实时站点(我知道这有多糟糕......),我们进行一些快速测试并确保代码按计划工作.如果是这样,我们promiserepo并继续。如果没有,我们可以回滚或编辑撤消并重新保存。虽然这现在看起来很疯狂,但简单性对我们来说效果很好。但是我们现在有一个小团队,
当我在控制台中列出它们时,我有大约25个phing目标。但是其中5个只是其他目标需要的,我永远不会单独触发它们。是否有可能隐藏它们?例如:有以下目标:cms.cccc配置抄送内容抄送服务全部弹出在我的列表中,但“cc”-target是我唯一会触发的。谢谢! 最佳答案 我没有自己测试,但是根据testcase我猜是通过Google发现的,有一个(未记录)属性hidden 关于php-如何从xml中隐藏一些phing目标,我们在StackOverflow上找到一个类似的问题:
在我的构建脚本中,我试图将日期和SVN修订号输出到构建目录中的文件中。我想在单独的行上显示日期和修订号,但无法换行以输出到文件。我试过各种方法:DATE=${DATE}\r\n\\\r\\\nPHP_EOL有没有其他人设法通过换行符向Phing提交文件?我看过phing中的代码,它使用fwrite。我只能猜测我的build.xml中的字符串在被fwrite处理之前以某种方式被转义了?我想我可能不得不求助于ExecTask? 最佳答案 您可以使用${line.separator},参见Built-InPropertiesDocs.
我正在尝试在Phing中设置一个mysql导入脚本,但是“我正在考虑让dbDeploy执行此操作,但如果有一种简单的方法可以让它工作(单行命令与dbDeploy的多行设置) 最佳答案 通过将字符替换为来转义字符 关于mysql-exec任务中的` https://stackoverflow.com/questions/1474708/
我是Phing新手。我想查询MySQL数据库表中的一个值,并将该值设置为一个属性,以便我可以将它很好地回显到屏幕上。我可以看到有一个PDOSQLExecTask允许我运行一些SQL,但我看不到如何将返回值设置到属性中?我要运行的查询是:选择最大值(change_number)来自更新日志;我想将其设置为一个属性:任何人都可以解释一下吗?谢谢,克里斯 最佳答案 我可以在命令行访问MySQL,我采用了以下解决方案。我敢肯定这不是最好的,如果其他人可以改进它,请改进! 关于mysql-是否可以
我正在使用Phing的dbdeploytask至managemydatabaseschema.这工作正常,只要在我的增量文件的查询中没有错误。但是,如果出现错误,dbdeploy将只运行增量文件直到出现错误的查询,然后中止。这让我有些沮丧,因为我必须手动回滚更改日志表中的条目。如果我不这样做,dbdeploy将假定迁移在后续尝试中成功,因此任何重试都不会执行任何操作。所以问题是,是否有任何方法可以让dbdeploy使用事务,或者您可以建议任何其他方法来在发生错误时自动回滚phing?注意:我对Phing不是很精通,所以如果这涉及编写自定义任务,非常感谢任何示例代码或包含更多信息的url
我正在使用Phing在Hudson中执行后期构建任务。我想生成包含自上次成功构建Hudson以来所有提交的变更日志。但是看起来Hudson和Hudson的Git插件都不提供%last_build_time%变量。这将是令人满意的解决方案,(但如何获得时间?):gitlog--pretty="%s"--since="%last_build_time%"我目前看到的唯一方法是从工作xml文件中提取它,但我不知道Phing是否可行。您如何生成更改日志? 最佳答案 如果您有权访问build.xml文件,@takeshin的回答很好,但这可能
我正在使用Phing在Hudson中执行后期构建任务。我想生成包含自上次成功构建Hudson以来所有提交的变更日志。但是看起来Hudson和Hudson的Git插件都不提供%last_build_time%变量。这将是令人满意的解决方案,(但如何获得时间?):gitlog--pretty="%s"--since="%last_build_time%"我目前看到的唯一方法是从工作xml文件中提取它,但我不知道Phing是否可行。您如何生成更改日志? 最佳答案 如果您有权访问build.xml文件,@takeshin的回答很好,但这可能
我正在使用phing并通过ExecTask运行selenium服务器。有时我需要通过终止其进程来停止运行服务器。phing中是否有可能获取在ExecTask中生成的进程的PID? 最佳答案 不,ExecTask不能直接给出派生进程的pid。它只能返回它的退出状态和输出。也许您可以修改在ExecTask中运行的命令以保存衍生进程的pid。您可以使用$!获取最近后台命令的pid。job1&//startjob1andruninbackground,endcommandwith&p1=$!//storesthepidecho$p1//gi
我正在使用phing并通过ExecTask运行selenium服务器。有时我需要通过终止其进程来停止运行服务器。phing中是否有可能获取在ExecTask中生成的进程的PID? 最佳答案 不,ExecTask不能直接给出派生进程的pid。它只能返回它的退出状态和输出。也许您可以修改在ExecTask中运行的命令以保存衍生进程的pid。您可以使用$!获取最近后台命令的pid。job1&//startjob1andruninbackground,endcommandwith&p1=$!//storesthepidecho$p1//gi