如何使用git部署我的环境?

时间:2013-12-05 18:43:02

标签: git deployment

我有一个用git部署的环境,我不知道怎么做。我们的团队与几个开发人员主机(每个主机的本地存储库)合作,这应该推动一个服务器与中央存储库。所以我们有另外两个服务器,每个服务器都有“裸”存储库,但是这两个存储库是中央存储库的镜像,只是为了更新目录/ var / www中的项目。

这两个最终服务器是我们的Web服务器。 中央服务器是我们的存储库服务器,它应该在开发人员从开发人员机器推送中央服务器的时候更新Web服务器。

我已经使用此post-receive挂钩从dev计算机直接更新(推送)到一个Web服务器。

#!/bin/sh
GIT_WORK_TREE=/var/www/project_name git checkout -f

但是现在,有了这个新方案我将如何让中央服务器更新Web服务器?有了收件后?或者是什么?

理论上我想做这样的事情:

$ cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=ssh://user@webserver/var/www/project_name git checkout -f
$ chmod +x hooks/post-receive

GIT_WORK_TREE =“ssh”是使用ssh的网络服务器地址。

1 个答案:

答案 0 :(得分:1)

您可以在主中央服务器上执行post-receive挂钩,以便推送到Web服务器的裸存储库。

这样,在那些裸网络服务器回购中已经存在的每个后收到的挂钩仍然会像现在一样运行。
但它们会被中央服务器的自动推送触发,而不是直接从开发者推送。