是否可以使用git:实现以下自动化web部署
服务器:
- GIT Repo,带有一个master和一个dev分支
- 托管
dev.mysite.com
(dev分支) - 托管
mysite.com
(主分支)
基本上,我想在本地机器上进行开发,然后提交给dev分支,在实际服务器环境中测试更改。如果一切都经过测试,我将把开发提交合并到主/实时站点中。提交/合并应自动将文件复制到文档根目录中。
我看过很多关于posthook的教程,但我对Git还很陌生,真的不知道如何实现这一点。
其他信息
主机是沙盒的,并且分配给主机的用户(dev.mysite.com
&mysite.com
)不能访问其他主机的文件。阅读:一切可能都应该通过git挂钩来实现,因为我无法将文件移动到其他主机的目录中。此外,我不想手动ssh到服务器中,将更改拉到相应的主机中,因为我不是唯一一个开发人员,而是唯一一个可以访问ssh的开发人员,我不希望每5分钟被调用一次来拉新的更改。
这是完全可能的:
详细解释见http://toroid.org/ams/git-website-howto
对您来说,您需要在服务器git存储库上有一个接收后挂钩,它看起来有点像(伪脚本):
#/bin/bash
如果推送是分支dev/
GIT_WORK_TREE=/var/www/dev.mysite.com GIT checkout-f
退出
否则,如果推送到分支主机
GIT_WORK_TREE=/var/www/mysite.com GIT checkout-f
这可能会得到你想要的!:)
希望它能有所帮助!