如何将新代码版本交付到几个node.js服务器?

时间:2017-11-25 11:59:25

标签: git google-cloud-platform google-compute-engine

我们有一些由node.js托管的google cloud compute engine台服务器。由于运行服务器的实例是由Instance Group创建的,因此前面有一个负载均衡器,它们的IP频繁更改。

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

有没有办法使用单个命令行在所有实例组中上传版本,这可能会使所有实例都由集中请求启动git pull

1 个答案:

答案 0 :(得分:1)

有多种方法可以这样做,但我会根据您的需求看到两个直接解决问题的方法:

  1. 由于您在Linux实例上运行服务器,因此在启动时设置cronjob,从那时起,您喜欢的频率通过经典{{1}从存储库中提取代码}}

    这个解决方案并不是非常优雅,但需要很少的线条并且非常有效。显然,如果每隔T秒检查一次新代码,服务器就有可能在T秒内最多运行不同的代码,这取决于工作负载的性质可能是一个问题。

  2. 有一个内置功能,Repository Mirroring。您在GitLab的镜像将自动更新。老实说,我从未实现过这个解决方案,但您可以查看以下可以指导您完成整个过程的StackOverflow answer