1

我很好奇其他人如何在企业内管理从 DEV 到 TEST 到 PROD 的代码提升。

您使用什么工具或流程来管理“繁文缛节”、进入/退出标准方面?

我目前的组织在一些自定义在线表单类型功能和基于纸张的依赖项之间陷入了一半的困境,以提交文件、收集批准和审查。

所有这一切都留给项目经理来跟踪已提交、通过审查、批准的内容,并在应用程序升级到下一个环境之前,如果有任何需要批准才能“忽略”的障碍,则向管理层提出建议。

基于浏览器的应用程序将是理想的......那么那里有什么?请告诉我你的googlefu比我的好。

4

2 回答 2

3

通过 google 很难找到一个好的。有大量用于问题管理的工具,所以我会提到我们使用什么以及我们想使用什么。

我们目前使用的是 serena 产品。他们在过去为我们工作得很好。Team Track 是我们的问题管理,处理我们处理的任何问题的生命周期。Version Manager 是我们的源代码控制,具有实施 DEV TEST 和 PROD 等促销组的功能。我们使用 DEV、TSTAGE、TEST、PSTAGE 和 PROD 来表示从一个到另一个的移动,但它们大致相同。这两个产品很好地集成在一起,因此与问题相关的源是链接的,但是我们在这个环境中没有构建过程设置。它很贵,但效果很好。

我们正在寻找一个更通用的系统,使用 Jira 进行问题管理,Subversion 进行源代码控制,Fisheye 将两者联系在一起,Cruise Control 进行构建管理。这更便宜,企业许可总共需要几千美元,并提供所有相同的功能,但还有 SVN 的额外好处,这是一个非常好的代码版本管理器。

我希望这会有所帮助。

于 2008-10-09T22:50:25.920 回答
0

这些年来,我经历了几种不同的情况:

开发 -> 测试:通常有一个代码冻结日期,该日期停止新功能的工作并获得一个测试环境,该测试环境已经构建了已标记/标记/存档的代码。然后将其复制到机器上,测试顺利进行。这通常也是所有推送中最不详细的。

Test->Prod :这需要对生产进行较小的更改,这可能意味着“钓鱼”页面上升或 IIS 没有任何站点正在运行并且代码被再次复制。在某些特殊情况下,负载均衡器可以充当交换机,以便进行促销,并且没有客户遇到任何停机时间,因为旧服务器上的客户将在会话结束后移动。

为了详细说明切换的想法,设置是有 2 个可能处于活动状态的服务器,其中只有一个服务器接受请求,负载均衡器只将所有流量发送到一台机器,当另一台服务器有更新的代码上线时可以切换.

还可以有一个介于测试和生产之间的暂存环境,其中的过程是相似的,因为促销发生的日期是固定的。

在我以前工作的地方会有合并日,开发人员在 Perforce 中花费大部分时间合并代码,以便可以将其从一个环境提升到另一个环境。

现在有几种情况不使用它:

“修补程序”或“热补丁”会出现在我以前工作的地方,在这种情况下,特定文件会自行复制到登台和生产环境中,因为代码更改必须尽快进入生产环境,因为生产中出现问题或一些必须完成的新事物需要 2 分钟才能完成。在这种情况下,被推送的代码更改必须在退出前经过审查和批准。

这些是我见过的不同方法,通常可能需要更改时间表和时间表,或者引入额外的资源来确定一个艰难的日期,例如会议是否在某个特定的周末举行,而某某已为此做好了准备。

当然,在一些地方出现了“哦,那是坏的吗?让我看看……”,几分钟后,“不,看它对我来说没有坏”,有人在没有问的情况下改变了事情许可或任何公司仍然拥有他们所谓的“牛仔编程”的东西。

另一点是发布的规模: 1) Tiny - 这是一个网页上升以便用户 X 可以做 Y 的情况。

2) 小 - 少量的文件,这些文件并不复杂,但也不是微不足道的。

3) 中等 - 从一个环境转移到另一个环境需要更改一堆文件,并且通常需要移动脚本。

4) 大 - 有预定的促销活动,并且当实时推送完成时,会询问各种开发人员谁在轮班。除了发布一些新的电子商务网站外,我还需要进行数据迁移。

5) 猛犸象 - 一切都是全新的,包括如何使用它。我认为我从未见过这种尺寸的产品,但我想微软或谷歌会发布这种尺寸的产品。

在这个范围内的某个地方,大多数版本都会下降,因此多少计划和准备可能会有很大差异,我们不要忘记,监管合规性可能是完成某些事情的痛苦。

于 2008-10-09T23:11:33.570 回答