从中央存储库(GCP)上传或获取仅更改的Git文件到VM服务器



我们有几个客户端虚拟机运行一些基于我们提供的配置文件的东西,我们将所有的配置文件存储在GCP的一个中央存储库中。

假设每次我们改变一个配置文件,例如config_file_1我们将其推送到GCP中央存储库然后我们手动到使用该config_file_1的相应VM并更新它
实际上VM只使用GCP中央存储库中的一个文件

例如:
VM 1使用config_file_1
VM 2使用config_file_6
VM 3使用config_file_9

[May be we will maintain the table which VM using which file]

我们想要一些机制来自动化这些东西,
所以如果我们改变config_file_9并通过GIT将改变的文件推送到GCP,那么VM 3应该自动更新config_file_9


——可能使用GCP PubSub,我们将在每个VM上都有订阅者(但看起来很复杂)
——使用可能是git-ftp(不知道它是否会工作,就像在多个VM中一样)
——自动git提取/获取VM上的特定文件(不知道它是否会工作,就像在多个VM中一样)

所以,我们需要你的帮助,你认为处理这个问题的最好方法是什么?
感谢您拨冗考虑。

"1)为多个VM配置文件使用一个Git存储库不是一个好主意。Git是一个源代码控制系统。您可以推拉存储库。尽管您可以获取单个文件,但您的存储库(本地和远程)将很快失去同步——除非您只做拉取操作。然后,你需要编写一个GitHub WebHook来通知VM存储库已经更改。

  1. 我建议将配置文件存储在Google Cloud Storage上。然后复制虚拟机启动时需要的文件,或者通过shell脚本手动复制。如果你需要自动更新,那么你需要实现某种形式的云存储事件来通知VM文件更改。">
  • @John汉利。