Deployment 增量代码部署到云中的大型集群

Deployment 增量代码部署到云中的大型集群,deployment,amazon-web-services,cluster-computing,chef-infra,puppet,Deployment,Amazon Web Services,Cluster Computing,Chef Infra,Puppet,如何将代码增量部署到云中的大型集群?我的意思是,如果我有一个集群,比如说300个节点,我想让这个集群用我最新的构建代码更新,但只更新更改的文件(二进制文件和数据文件),我该怎么做呢 我遇到过谋杀案,但它似乎不进行增量文件部署,而是将所有内容复制到每个节点 我还研究了chef,但这似乎不适合增量总体代码部署,更适合在每台机器上运行安装程序,并根据chef服务器确保安装的代码配置文件是最新的。看起来不需要为安装程序的版本操心。所以我看到chef有文件控制功能,但是在配置文件中使用它可能是有意义的,但

如何将代码增量部署到云中的大型集群?我的意思是,如果我有一个集群,比如说300个节点,我想让这个集群用我最新的构建代码更新,但只更新更改的文件(二进制文件和数据文件),我该怎么做呢

我遇到过谋杀案,但它似乎不进行增量文件部署,而是将所有内容复制到每个节点

我还研究了chef,但这似乎不适合增量总体代码部署,更适合在每台机器上运行安装程序,并根据chef服务器确保安装的代码配置文件是最新的。看起来不需要为安装程序的版本操心。所以我看到chef有文件控制功能,但是在配置文件中使用它可能是有意义的,但是对于一个包含数百个二进制文件和数据文件的代码项目,它是否有意义还不确定

我当然可以编写自己的系统来实现这一点,但我想知道,对于大型集群增量部署,尤其是在开发阶段,是否有更好的选择


在我的例子中,服务器是windows,云是aws。

看看(我是附属公司)。这是一个轻量级和完全免费的工具。除此之外,它还通过将每个文件的哈希值与已部署文件的哈希值进行比较来自动执行增量部署。

您需要考虑的第一件事是,您的代码是否能够同时运行新旧版本的代码(“滚动升级”),如果不能,那么整个讨论就没有多大意义。要具备这种能力,您的代码和协议需要相应地设计。很抱歉,没有跟上您的步伐。这有什么关系?假设我希望集群上的代码与特定分支的最新代码保持同步,但我希望集群只部署已更改的二进制文件和数据文件。没有一切从头开始,所以每次源代码更改时都会快速部署。这似乎是chef的有限版本?对的如何生成和比较哈希代码?看起来它接受一个包而不是一个文件夹的文件?我说的对吗?@iCode它与Chef没有关系,后者更倾向于流程基础设施管理,但生活在一个类似的领域。Kwatee接受tar/tgz/bzip/zip归档文件或简单的文件文件夹。哈希最初是在将包/文件夹上载到存储库时生成的。模板化文件(即包含变量)的哈希值在其值发生变化时重新计算。