4

发布托管 Web 应用程序新版本的最佳方法是什么?您通常多久发布一次?您是否选择任意日期,例如每周、每月等来推出一组累积的修复(可能使用类似于Joel 的发货日期方法)?等待比这更长的时间似乎破坏了托管应用程序的部分主要优势。另一方面,您不希望不断推出可能使用户感到困惑的新功能(即,如果他/她每次登录时都有不同的东西)。

直到最近,我的经验主要是安装基于服务器或桌面应用程序。我很想知道人们在托管应用程序中使用什么类型的发布管理。

4

5 回答 5

3

谷歌的方法可能是最适合最终用户的方法,但它是以复杂性为代价的。

他们在相当稳定的基础上推出新版本(有时只是个别更改)(经常每天,取决于项目)。但问题是:只有一小部分用户获得了新版本。

谷歌的大产品拥有大量用户,因此设置“5% 的用户应该看到此功能”之类的规则是切实可行的。

然后他们可以分析结果并计划他们的下一个版本,可能面向另外 15% 的用户群。

于 2009-01-19T04:24:24.733 回答
1

尽管工程师想要定义一个日常工作,但它实际上将由系统背后的业务需求驱动。它还真的取决于更新的性质,等等......

推出内容和 HTML 更新应该没什么大不了的。应用程序更改应该是一件大事,并且在被推送之前在预览站点上通过已建立的测试例程。

可以肯定的一件事是,您需要有一种非常“干净”的方式来部署(和取消部署)更改。您还需要一种“简单”的方法来在更改上线之前对其进行审核和审核。

混合使用“git”和“rsync”可以让我们完全控制整个过程。我们项目的所有更改都是在从“生产”分支分支出来的分支中开发的。在任何更改上线之前,必须完全合并“生产”分支。上线的行为只是将适当的分支合并到“生产”中并将其同步到实时服务器。Git 让这变得非常简单。

这确保了生效的更改不可能与正在进行的其他更改发生冲突。

自从采用该系统以来,我们的部署程序在效率和清晰度上都得到了显着提高。顺便说一句,我们的部署范围从每天多次到每几个月一次。这一切都取决于。我希望在一个活跃项目上每周发布 1-2 个版本。

于 2009-02-09T01:23:12.573 回答
0

尽早并经常发布是我所做的,也是我们在工作的地方所做的。每当我们进行更新时,我们也会在博客中介绍我们的更新。如果您一次尽可能地将所有更新滚动到一个更新中(对于 QA,必须回滚等),这可能对您来说更容易。从用户的角度来看,我认为大量更新没有任何问题。只要它们不是糟糕的更新。我认为如果您等待一整年或六个月,然后将所有更新整合到一个大版本中,就会出现问题。这就是我曾经从事的一个项目(你可能听说过的流行的 feedreader)的原因。人们认为我们已经死了,感知变成了现实。我们被遗弃了。所以我完全赞成消防水管的发布时间表。

于 2009-01-19T04:16:05.170 回答
0

每两周应该足够了,但这在很大程度上取决于您的市场。

于 2009-01-19T04:16:13.300 回答
0

在 Planbox(基于 Web 的敏捷项目管理 SaaS),我们每天都会发布。我们可以这样做,因为我们的大部分应用程序逻辑和我们所有的表示逻辑都在前端(Javascript)中。甚至 HTML 也是使用模板引擎通过 Javascript 生成的。但后端 (PHP) 及其 REST API 很少更改。这使我们可以随时推送新版本的客户端,而不会破坏兼容性。

如果您可以迁移到这样的架构,您将节省大量时间并提高效率。

于 2011-04-11T13:01:26.307 回答