繁体   English   中英

我为同一Web应用程序部署了多台服务器。 如何使部署自动化,以便一台服务器可以更新而不更新其他服务器?

[英]I have multiple servers deployed for the same web app. How can I automate deployments so that one server might be updated but not the others?

我正在将一个Web应用程序部署到多个服务器上。 我想将代码推送到这些服务器之一,以便可以对其进行更新,但不影响其他已部署的服务器。 Web应用程序和服务器对于每个客户端而言都是唯一的,因此,如果我为一个客户端添加功能,则不希望将其添加到已部署的所有其他服务器中。 在某些情况下,所有活动服务器可能都需要更新。

我希望自动化此功能,以便我可以为一台服务器推送代码,而不会影响其他服务器。 我一直在考虑使用Docker,Ansible和Kubernetes来完成这项工作,但是对于一般部署而言,这是一个相当新的想法,并且希望对此类最佳实践有所了解。

谢谢。

现在,它已部署为独立的Web服务器,其中向master分支的推送会导致该服务器的自动部署。 我想出的唯一解决方案是分别部署多个服务器。

您的问题与Docker / Kubernetes并不严格相关,但是无论如何我都会尝试回答。 有两种方法可以完成此操作

1)为每个客户维护一个回购库-该库具有客户的自定义内容,并从其他地方提取通用代码。 也许是Git子模块或其他方式。 这样,每个客户都可以拥有自己的生命周期。 我不喜欢这种方法,因为客户之间的差异趋于扩大。 同样,这就像维护与客户一样多的代码库-这是不可扩展的

2)我可以想到的唯一方法是对所有客户统一,那就是做特征标记 这必须在开发过程中进行,而不是纯粹的操作练习。 这很难开始,但从长远来看,这是我认为可以扩展的唯一方法。 然后可以通过配置关闭一位客户的特定功能。 也有一些公司如LaunchDarkly启用了此功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM