规模较大的Web开发人员如何在部署之前测试其代码?
我一直在尝试了解有关PHP和更多服务器端代码的更多信息,而我刚意识到要升级网站,需要删除它并在用户使用时上网。
此外,由于我还没有启动我的网站,并且没有被Google编入索引,因此很少有任何访问,因此,我可以自由地使用PHPStorm + FTP上传和测试我想要的任何内容。但是我意识到,一旦完成项目并拥有用户,我就不想在他们使用它们时进行更改。
人们如何在部署之前编写代码,调试和设置以验证其网站是否正常运行?另外,您将如何?两者都是来自大型网站(例如apple ,cnn -需要在24/7上运行的网站)与较小的博客/网站。
1> Obsidian Age..:您正在询问Continuous Integration
/Continuous Deployment
(' CI/CD
')。
基本上,您将需要使用测试服务器来在公众看到之前测试您的代码。您将代码部署到此服务器并进行了全面测试,确认一切准备就绪可以投入生产。通过更深入的设置,可以使用诸如Selenium或TestComplete之类的工具来自动化该测试。
从理论上讲,您应该将GitFlow工作流程的“ 发布版本 ” 部署到测试环境中。这样可以确保所有计划的更改都已完成,并准备最终发布给公众,而不会在版本中混淆其他任何更改。
当您最终准备好交付生产时,您将需要计划发布,并与任何相关方会面。我建议使用正确的发行清单,在此清单中,您确认所有其他功能均按预期工作,并且不会意外删除任何现有功能(回归测试)。
注意,部署到生产环境与部署到测试环境应该完全没有区别。该只应该对生产环境进行改变的事情是在所处的环境主办,数据库配置以及服务器。这样可以确保您不会意外测试/使用客户可能也会与之交互的任何数据。
生产部署本身(本质上)应该只是将文件“复制粘贴”到磁盘上,并且通常使用诸如Jenkins或TeamCity之类的持续集成工具来完成。假设您只有一个小型网站,这应该是几乎瞬时的过程,甚至不需要在生产环境中造成任何停机。如果该过程可能需要花费较长时间(例如,复杂的部署),则可能需要实施维护页面。这将通知您的用户您正在使用该网站,并让他们知道何时可以恢复功能。