1

最近我阅读了一些关于如何使用 Git 设置自动部署的笔记和教程 。问题是所有解决方案都大约有 2 台服务器 - 测试和实时,并且用于测试的服务器必须在其内部有存储库。

就我而言 - 我有 3 台服务器:

  1. 带有所有存储库的服务器 [Debian 6.0.8](使用 Gitosis)
  2. 我的团队进行更改的开发/测试服务器 [ubuntu 14.04]
  3. 直播/生产服务器 [ubuntu 14.04]

在这种情况下是否可以配置自动部署?

我想知道将我的生产服务器安装到存储库服务器或以某种方式在它们之间建立另一个连接。

也许有更好的方法来做到这一点?

4

1 回答 1

1

结果比看起来要容易得多。

  1. 首先,我已将我的开发服务器安装到我的存储库服务器
sshfs user@dev_server:/path/to/www /mnt/dev_server -o ServerAliveInterval=60 -o allow_other

如果没有 allow_other 选项,“git push”会出现权限被拒绝错误

  1. 比在 repositories/website.git/hooks 文件夹中我创建了脚本“post-receive”

cat post-receive

 #!/bin/sh
 git --work-tree=/mnt/dev_serv/path/to/www/website --git-dir=.../repositories/website.git checkout -f

它就像一个魅力。现在我只是在寻找一些更安全的方法。此解决方案在本地到 dev_server 之间进行了测试。

主要目标是仅在将某些内容从开发服务器(而不是本地)推送到生产服务器时运行自动部署。

于 2015-02-10T14:17:27.703 回答