如何将新代码版本传递到多个node.js服务器?

如何将新代码版本传递到多个node.js服务器?

问题描述:

我们有一些node.js服务器由google cloud compute engine托管。由于运行服务器的实例是由Instance Group创建的,因此它们前面有一个负载平衡器,并且其IP经常变化。如何将新代码版本传递到多个node.js服务器?

Instance Group从实例模板创建实例时,引导脚本使用gitlab获取当前版本,并且该过程运行正常。

是否有上传使用一个命令行的所有实例组版本的方式,一些可能使运行git pull通过集中请求发起的所有实例?

有多种方式来做到这一点,但我看到根据您的需求,您的问题,有两种简单的解决方案:

  1. 因为你是在Linux实例上运行的服务器是建立一个cronjob启动从那一刻开始,您希望通过经典git pull将代码从存储库中提取出来。

    这个解决方案不是非常优雅,但需要几行代码,这是相当有效的。显然,如果检查新代码的每个T秒服务器风险运行在最大T秒,这取决于你的工作负载的性质,可能是一个问题,不同的代码。

  2. 有一个内置功能来做到这一点,Repository Mirroring。 GitLab中的镜像将自动更新。老实说,我从来没有实施此解决方案,但你可以检查以下的StackOverflow answer可以指导您完成整个过程。