首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >减少自动部署的风险

减少自动部署的风险
EN

Stack Overflow用户
提问于 2014-03-27 22:01:39
回答 1查看 108关注 0票数 0

部署

我目前在一家通过github部署的公司工作。但是,我们必须登录到所有3台服务器,才能使用shell脚本手动更新它们。在与首席技术官谈话时,他非常清楚地表明,自动部署对他来说就像伏都教。这是可以理解的我们有来自4个不同国家的开发人员远程工作。如果有人不小心推到错误的分支,我们可以体验停机时间,我们的服务不能超过10分钟。和我们所有的开发人员在不同的时区,我们的CTO不会知道,直到第二天早上,我们会遇到困难的开发人员,谁有问题,因为巨大的时间差异。

我的问题是:为什么我要自动部署

在我的个人项目工作时,我决定使用自动部署可能是我最感兴趣的,但我的项目仍然是关键任务,我希望尽可能减少停机时间和人为错误。手动部署的问题是,我无法在合理的时间内通过SSH在多达20台服务器上手动部署。当我考虑自动缩放的时候,这个问题就会持续存在。我需要从映像中派生出一个新服务器并部署到它上。

我的书库

我的服务是在Node.js快捷框架上开发的。这些环境在部署和引导实用程序方面非常丰富。我的项目使用npm的package.json在部署时uglify脚本,并使用forever-monitor作为守护进程运行我的服务。我还考虑使用grunt.js来为生产和测试环境进一步引导我的环境。

部署方法

到目前为止我已经考虑过:

  • 使用webhooks使用git自动部署
  • 通过shell使用git手动部署
  • 通过外壳使用npm进行部署
  • Docker

我对像Docker这样的技术不太熟悉,但我很感兴趣,而且我肯定会给出谁给了我一个很好的描述,为什么我应该或不应该使用Docker,因为我对它的使用非常感兴趣。其他方法是受欢迎的。

我的问题:为什么我害怕自动部署

在关键的任务环境中,停机可能会使您的业务暂停,更糟糕的是,有一群终端用户按下刷新按钮。如果有人推动一些不是构建的东西传递到生产部门,并且是自动部署的,那么我将看到一个非常混乱的情况。

我喜欢自动部署的优雅,但风险让我怀疑。我非常赞成尽可能地提高自己的生产力。因此,我正在寻找一种方法,以非常有效的方式,轻松地部署到许多服务器。

我要找的答案

向我解释如何减少自动部署的风险,向我解释一个更适合我的项目的替代方案。请随时询问评论中缺少的细节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-28 00:59:19

这里没有简单的答案。我提供了一组幻灯片,由Etsy公司的迈克·布里坦发布,该公司实行持续部署:

http://www.slideshare.net/mikebrittain/mbrittain-continuous-deploymentalm3public

精选重点:

  • 频繁和小批量部署
  • 使用配置/功能标志来控制系统行为和“暗发布”主要特性
  • 代码检查产品分支的所有更改。
  • 投资于监控和改进反馈回路
  • 将“服务”单独管理到“应用程序”,并注意运行时版本和向后兼容的更改。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22700147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档