Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何将新代码版本交付到多个node.js服务器中?_Git_Google Cloud Platform_Google Compute Engine - Fatal编程技术网

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

Git 如何将新代码版本交付到多个node.js服务器中?,git,google-cloud-platform,google-compute-engine,Git,Google Cloud Platform,Google Compute Engine,我们有一些node.js服务器由googlecloudcomputeengine托管。由于运行服务器的实例是由实例组创建的,因此前面有一个负载平衡器,它们的IP经常变化 当实例组从实例模板创建实例时,引导脚本使用gitlab提取当前版本,并且流程正常运行 是否有一种方法可以使用单个命令行上传所有实例组中的版本,这种方法可以使所有实例运行由集中请求启动的git pull?有多种方法可以实现此目的,但我认为根据您的需要,有两种简单的解决方案可以解决您的问题: 由于您在Linux实例上运行服务器,因此

我们有一些
node.js
服务器由
googlecloudcomputeengine
托管。由于运行服务器的实例是由
实例组创建的
,因此前面有一个负载平衡器,它们的IP经常变化

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


是否有一种方法可以使用单个命令行上传所有实例组中的版本,这种方法可以使所有实例运行由集中请求启动的git pull?

有多种方法可以实现此目的,但我认为根据您的需要,有两种简单的解决方案可以解决您的问题:

  • 由于您在Linux实例上运行服务器,因此需要在启动时设置一个,从那一刻起,以您喜欢的频率通过经典的
    git pull
    从存储库中提取代码

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

  • 这样做有一个内置的功能,即。GitLab上的镜像将自动更新。老实说,我从来没有实现过这个解决方案,但是您可以检查下面的StackOverflow,它可以指导您完成这个过程