最近,我已阅读了有关如何使用Git设置自动部署的一些说明和教程digital ocean。问题是所有解决方案都是大约2台服务器 - 测试和实时,而测试服务器必须有自己的存储库。
就我而言 - 我有3台服务器:
在这种情况下是否可以配置自动部署?
我想知道将生产服务器安装到存储库服务器或以某种方式在它们之间建立另一个连接。
也许有更好的方法可以做到这一点?
答案 0 :(得分:1)
它比看起来容易得多。
sshfs user@dev_server:/path/to/www /mnt/dev_server -o ServerAliveInterval=60 -o allow_other
如果没有allow_other选项,则会在" git push"
上出现权限被拒绝错误
cat post-receive
#!/bin/sh git --work-tree=/mnt/dev_serv/path/to/www/website --git-dir=.../repositories/website.git checkout -f
它的工作就像一个魅力。现在我只是在寻找更安全的方法。此解决方案在本地与dev_server之间进行了测试。
主要目标是仅在将某些内容从开发服务器(而非本地)推送到生产环境时运行自动部署。