我正在将Git repo集成到公司工作流程中,而老板希望能够在部署到生产之前测试php代码。目标是有三个环境:开发,测试和生产。
因此工作流程将类似于:
现在,这里有几个捕获:
我很感激有关如何做到这一点的任何想法和想法。
谢谢!
答案 0 :(得分:3)
在我们的登台服务器上,我已将本地smtp配置为删除除白名单中某些地址之外的所有邮件。这样,客户就不会收到来自暂存环境的任何邮件。
对于其他外部服务,我在测试模式下运行它们,如果它们支持或以其他方式使用存根。后者意味着我们无法测试最后的积分点,但这是可以接受的。
答案 1 :(得分:2)
我之前已经看过类似的方法写入应用程序,并看到以下实现:
Zend_Config
处理得非常好。答案 2 :(得分:1)
数据需要多准确?它是否需要 生产数据,或只是喜欢它?无论何时进行架构更改,您都可以手动运行导入。
此处的另一个替代方案是在包含联系人的数据库表上运行更新,这些联系人会在实时电子邮件地址的末尾添加“.invalid”或其他内容,而不需要任何其他配置。
您的付款授权的沙盒环境必然是您正在使用的网关的功能。
我喜欢James C提到依赖注入。注入的依赖项将模糊生产和测试环境之间的界限,而无需进行大量配置。这肯定会让你的生活更轻松。
答案 3 :(得分:0)
如果你有一个大型数据集,这将是乏味的。如果您使用的是MySQL,则可以捕获bin日志并在测试时重新运行它们以保持数据同步。
这可以使用环境变量或配置来实现,如果使用的环境是测试环境,则使用调试邮件ID。
与上述配置相同。
请注意,当使用git推送到远程仓库时,repo需要裸露,否则你将不得不破解它。