与所有网络项目一样,当网站上线时,您需要持续的支持和开发。我们通常会设置一个BETA网站,向客户展示它的外观,以便他们签署。对于非常大或高度编程的站点,任何人都有很好的方法来处理开发和实时站点部署
答案 0 :(得分:5)
假设您的站点使用数据库和其他服务器端服务(队列,Web服务,其他数据层等),我建议使用暂存环境来托管beta / pre-prod版本 - 完成制造数据并预先准备好的演示场景。
生产站点应指向数据库和Web服务的生产版本,并且数据流应保持不受演示数据的影响。
简而言之,我的建议是复制生产环境(在某种程度上)可能)并在一个单独的环境中托管测试版网站。
答案 1 :(得分:1)
(荷兰简称)OTAP环境(开发测试验收生产)应该可以解决问题。开发和测试是内部,接受和生产是两个不同的环境,由服务器管理员维护。首先必须在Acceptation上发布每个版本,客户和开发人员都可以接受或拒绝发布。接受后,完全相同的版本将发布到生产中。
-edit:尝试在每次发布之前将生产数据同步到接受,以确保最大兼容性 -
答案 2 :(得分:0)
在线/公开BETA版本中,我认为谷歌服务就是一个很好的例子。
如果您拥有良好的融资方式,您可以在不同的机器/服务器/服务中托管您的BETA环境和最终环境。稍后您只需将请求转发到当前应用程序状态所需的服务器。
如果您只有一台机器或少量资源,我认为最好的方法是尽可能多地解耦应用程序,以便您可以在不崩溃应用程序的情况下更新某个模块(不会丢失会话,事务/行动流程。)
。
您需要记住的另一件事是,如果这个网站将被世界客户使用(需要注册)和某种数据生成,在这种情况下我认为最好的方法是共享相同的数据存储(数据库)在BETA和最终版本中。
答案 3 :(得分:0)
脚本尽可能多。配置等不可避免地存在差异,并且尽力消除人为错误的机会至关重要。好的工具包括Capistrano,Fabric和Ant(如果你在windows上,你也可以考虑使用NAnt或MSBuild)。
我喜欢有一个pre-staging(共享开发)环境,只要在版本控制系统中有一个post-commit挂钩,就会激活一个类似的脚本。