我们正在开始考虑在许多虚拟服务器(CloudServers @ Rackspace)上托pipe我们的网站。 正如我想通过考虑,一个想到的是我们如何部署从我们的Subversion回购代码到这些服务器?
可能性:A)进入每一个SSH并运行'svn update'B)为我做的(A)的脚本c)还有其他的东西?
有什么其他的方法将代码部署到n台服务器。 对于2台服务器,我认为(A)或(B)是非常简单的,但那些有1000台服务器的网站呢? 他们如何pipe理代码部署?
更新:这是我在这个主题find一个很好的链接。 HighScalability.com:代码部署工具
我熟悉的三种最常见的:
实际使用所有这三个不是不合理的。 包包含代码,configurationpuppet以及capistranopipe理更新。
在之前的工作中,我们没有1000台服务器,但是我们有20或30台服务器。我们有一个跳码服务器,代码被推送到它,它每隔三分钟运行一次rsync,将代码推送给所有其他服务器。
另一种做法是,我们现在的工作是做一个所有代码运行的NFS挂载。
如果代码是“集群安全的”,就像在每个系统上完全相同的代码一样 – 然后将代码整合到一个NFS服务器上(或两个HA)。
只需将您的存储库一次性检出到NFS服务器上,然后在每个应用程序服务器上安装包含相同代码的共享。
现在你只有一个位置保持更新。
怎么样共享存储后端? 将代码加载到一个地方,然后所有服务器都使用更新后的副本。