Deployment 在负载平衡器下将代码部署到多个生产服务器,而无需连续部署
我是我公司唯一的开发人员(全堆栈),目前除了自动化部署之外,我还有很多工作要做。将来,我们可能会雇佣一个DevOps的人来做同样的工作 问题:负载均衡器下有3台服务器。我不想在第一台服务器更新之前阻止第二台和第三台服务器,并在第二台和第三台服务器上重复相同的操作,因为一台服务器最初可能会有巨大的流量,并且可能在其他服务器上线之前的某个特定时间出现故障Deployment 在负载平衡器下将代码部署到多个生产服务器,而无需连续部署,deployment,server,digital-ocean,Deployment,Server,Digital Ocean,我是我公司唯一的开发人员(全堆栈),目前除了自动化部署之外,我还有很多工作要做。将来,我们可能会雇佣一个DevOps的人来做同样的工作 问题:负载均衡器下有3台服务器。我不想在第一台服务器更新之前阻止第二台和第三台服务器,并在第二台和第三台服务器上重复相同的操作,因为一台服务器最初可能会有巨大的流量,并且可能在其他服务器上线之前的某个特定时间出现故障 Server 1 User's ----> Lo
Server 1
User's ----> Load Balancer ----> Server 2 -----> Database
Server 3
个人意见:有没有一种方法可以通过在负载平衡器中编写任何脚本来提取代码。我可以用Nginx服务器取代传统的数字海洋负载均衡器,使其成为反向代理
注意:我知道在堆栈中还有很多其他问题
溢出在同一个上,但没有一个解决我的查询
我知道的解决方案
任何关于解决方案的建议或重定向都会对我很有帮助。提前感谢。解决方案之一是为此编写一本易读的剧本。使用Ansible,您可以指定在每个主机上运行它,并且作为最后一步,您可以包括验证检查,以检查应用程序是否使用响应代码200响应,或者它可以查询指示应用程序状态的某个端点。如果检查失败,Ansible将停止执行。例如,在您的情况下,Server1可以很好地部署,但在server2上部署失败。playbook将停止,服务器1和3将运行 我自己做的。在没有连续部署的环境中工作良好。
解决方案之一是为此编写一本简单的剧本。使用Ansible,您可以指定在每个主机上运行它,并且作为最后一步,您可以包括验证检查,以检查应用程序是否使用响应代码200响应,或者它可以查询指示应用程序状态的某个端点。如果检查失败,Ansible将停止执行。例如,在您的情况下,Server1可以很好地部署,但在server2上部署失败。playbook将停止,服务器1和3将运行 我自己做的。在没有连续部署的环境中工作良好。