场景:我们在其中一个环境中休息了。事实证明有人部署了一个破坏别人代码的新版本的视图。花了很长时间来追踪它。让我想知道。
管理多个团队的部署是否有最佳实践?您对管理此操作的良好做法有何看法?
我的想法(正如您将看到的那样,已经形成了一半)是这样的:拥有部署数据库。任何进行部署的人都需要在部署数据库中创建一个条目:新代码所在的位置,代码所处的环境,授权人员以及何时发生。第一个问题:执法。第二个问题:采用。第三个问题:向后兼容。
答案 0 :(得分:1)
管理多个团队的部署是否有最佳实践?您对管理此操作的良好做法有何看法?
最简单的方法是将部署作为持续集成过程的一部分。无论是手动还是自动,都可以定期部署构建或达到某个阈值。
由于大多数CI服务器都支持某种级别的审核,因此查看特定部署中可能会破坏哪些更改的内容将非常简单。这一次解决了许多问题:
执行:只有可以部署构建的人才能以这种方式部署到生产环境。访问权限由CI控制。
收养:琐碎。除了单击按钮以启动部署之外,没有人必须做任何事情。
向后兼容性:Trickier。你需要更清楚地定义你需要支持哪些要求,但是很有可能会被淘汰。
答案 1 :(得分:0)
我遇到了你所描述的类似情况。我们设法修复它的方式就像你说的那样。我们非常重视文档和批准。代码中的每个(非平凡的)更改都必须由其他人记录,测试和批准,然后才能进行开发。我们还可以使用TFS来安排构建和源代码控制。
如果这对您来说成本太高,那么我建议您创建一个程序,该程序将发送更新以及创建包含先前版本的备份文件夹。如果更新导致问题,回滚就像转到备份文件夹一样简单,将先前版本放回生产环境。
希望这有帮助。