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
使用基于Google云平台计算引擎VM的远程git存储库的最佳方式是什么?_Git_Google Cloud Platform_Google Compute Engine - Fatal编程技术网

使用基于Google云平台计算引擎VM的远程git存储库的最佳方式是什么?

使用基于Google云平台计算引擎VM的远程git存储库的最佳方式是什么?,git,google-cloud-platform,google-compute-engine,Git,Google Cloud Platform,Google Compute Engine,我在谷歌云平台上有一个VM(Debian9)实例 我已经在上面安装了Apache,希望为我的网站提供服务。现在我想找到最好的方法来管理我的源代码 我在GitHib上创建了一个私有git存储库,将其克隆到本地计算机(Windows)上的某个文件夹和GCP VM/var/www/html/目录 当我在本地计算机上更改源代码时,我需要执行以下操作: 提交更改 从本地计算机推送到GitHub 通过SSH连接到VM 从Github拉到VM 这种方式非常有效,但每次我想更新我的网站时,我都需要连接到VM并拉

我在谷歌云平台上有一个VM(Debian9)实例

我已经在上面安装了Apache,希望为我的网站提供服务。现在我想找到最好的方法来管理我的源代码

我在GitHib上创建了一个私有git存储库,将其克隆到本地计算机(Windows)上的某个文件夹和GCP VM
/var/www/html/
目录

当我在本地计算机上更改源代码时,我需要执行以下操作:

  • 提交更改
  • 从本地计算机推送到GitHub
  • 通过SSH连接到VM
  • 从Github拉到VM
  • 这种方式非常有效,但每次我想更新我的网站时,我都需要连接到VM并拉取。因为我一天换几次衣服,对我来说不方便

    我是否可以直接从ComputeEngine VM克隆存储库,这样当我执行提交+推送时,我的更改将在没有任何其他操作的情况下生效?如果是,怎么做?这比我现在的方法容易吗

    或者,也许,还有其他方法可以达到我的目标


    我是所有这些技术的初学者。

    我看到两种可能的方法,都很难。首先,您可以在服务器上设置Github webhook侦听器,并将Github存储库连接到webhook。因此,每次推送到Github时,webhook都会向您的侦听器发送一个信号,以便侦听器可以进行拉取。稍微简单一点(至少对我来说)的方法是在服务器上有一个空的存储库,其中有一个。您需要推送到两个存储库,但对于新手来说,这比设置webhook更简单。我通常使用
    post-update
    hook,而不是
    post-receive
    @peter,thx来回答您的问题,但也许有一种方法可以在根本没有Github的情况下实现这一点?我只是不知道如何从我的GCP虚拟机克隆一个repo,并将更改直接推送到它……你不需要第二次克隆它,你已经拥有了存储库。你只需要推到GCPVM。我看到两种可能的方法,都很难。首先,您可以在服务器上设置Github webhook侦听器,并将Github存储库连接到webhook。因此,每次推送到Github时,webhook都会向您的侦听器发送一个信号,以便侦听器可以进行拉取。稍微简单一点(至少对我来说)的方法是在服务器上有一个空的存储库,其中有一个。您需要推送到两个存储库,但对于新手来说,这比设置webhook更简单。我通常使用
    post-update
    hook,而不是
    post-receive
    @peter,thx来回答您的问题,但也许有一种方法可以在根本没有Github的情况下实现这一点?我只是不知道如何从我的GCP虚拟机克隆一个repo,并将更改直接推送到它……你不需要第二次克隆它,你已经拥有了存储库。您只需推送到GCP虚拟机即可。