gpt4 book ai didi

php - 好的 Phing 工作流程是什么样的?

转载 作者:可可西里 更新时间:2023-11-01 12:18:37 24 4
gpt4 key购买 nike

我正在尝试进入 CI 的思维模式,这个周末一直在玩 Phing。一切看起来都很简单,可以使用,并且已经有很多示例。

然而,仍然让我感到困惑的是人们实际使用它的方式。也就是说,我不是在寻找您进行的测试,而是在寻找使用 Phing 的建议工作流程,您在哪个阶段激活它,在开发周期的哪个阶段采取行动。

例如,我们有几个网站,目前我们在本地编辑源代码并保存上传到实时站点(我知道这有多糟糕......),我们进行一些快速测试并确保代码按计划工作.如果是这样,我们 promise repo 并继续。如果没有,我们可以回滚或编辑撤消并重新保存。虽然这现在看起来很疯狂,但简单性对我们来说效果很好。

但是我们现在有一个小团队,所以我试图将 Phing 插入这个过程,以获得 linting/sniffing/mess detecting 等的所有额外好处。但是我想不出最好的事件顺序。

你会建议:

  • 在本地编辑代码。
  • 保存后将文件上传到测试站点。
  • 在登台服务器上测试网站。
  • 一切顺利,将更改提交到存储库。然后运行 ​​phing。
  • 评估 Phing 的输出,必要时更新代码,重新保存、重新提交、重新运行 phing。
  • 假设 Phing 通过,因为我在另一台服务器上运行 phing,执行 svn 导出并开始部署过程。

上面的内容对我来说似乎有点啰嗦。是不是因为看起来我正在尝试将测试部署与实时部署合并,这让我感到困惑?

另外,提交似乎有点倒退,然后运行 ​​Phing,然后必须编辑并可能重新提交,然后再试一次。

因此,这样做是否更有意义:

  • 在本地编辑代码。
  • 保存并使用 Phing 运行测试部署构建。
  • 确保代码已通过所有代码检查等。
  • 使用 Phing 确保代码已复制到登台服务器。
  • 在登台服务器上测试网站。
  • 一切顺利,将更改提交到存储库。
  • 然后使用 Phing 进行实时部署构建。

上面的问题是,假设我只是想更正硬编码到 HTML 页面中的单词的拼写,这似乎有点过分了?

最后,人们如何设置他们的服务器,您是否有一台服务器用于实时站点,一台用于暂存站点,另一台用于托管 Phing(以及任何 CI 软件)?

最佳答案

像 Phing 这样的工具的重点是自动化。所以,要回答这个“你在哪个阶段激活它,它在开发周期的哪个阶段起作用”,我会说你应该在你觉得你会获得 yield 时尽快引入它 benefit从使用它。

例如,如果您有一个需要多个命令才能完成的流程,那么使用 Phing(或什至只是一个 shell 脚本)来自动执行这些步骤会有好处,尤其是当不止一个人需要执行这些操作时它或者它特别容易出错。

因此,您应该使用 phing 让您的生活更轻松,而不是更艰难。任何涉及多个 shell 命令的任务,或者总是涉及键入带有大量难以记住的参数的相同命令的任务,通常您可以/应该使用 phing 来自动化。

考虑到您提到的第一个步骤列表,它确实有点冗长。相反,您应该更早地使用 phing 来自动执行以下步骤:

  • 如果您有自动化测试,请使用 phing 来运行它们
  • 致力于源代码控制
  • 使用 phing 部署代码
  • 使用 phing 进行 svn 导出或任何其他手动步骤

所以基本上我会按照您在第二个列表中的建议进行操作。

您可能应该为单独的步骤制作 phing 命令,并制作用于运行的 phing 命令 一次运行一起运行的命令(例如,测试然后部署)。

如果您觉得有必要,这将允许您跳过阶段,例如在您给出的仅更改一些文本的示例中。

服务器的典型方法是将实时站点放在自己的服务器上,然后让登台/测试服务器尽可能地对其进行镜像。对于 CI 或其他实用程序,您通常可以将它们托管在登台服务器上,证明它们不会干扰您正在开发的主应用程序。

关于php - 好的 Phing 工作流程是什么样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7786735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com