是否可以使用git实现以下自动Web部署:
服务器:
dev.mysite.com
(开发部门)mysite.com
(主分会)基本上我想在我的本地机器上开发然后提交到dev分支来测试真实服务器环境的变化。 如果测试了所有内容,我会将开发提交合并到主/实时站点中。 提交/合并应自动将文件复制到文档根目录。
我已经看过很多关于post-hooks的教程,但我对Git很新,并且真的不知道如何实现这一点。
托管是沙盒,分配给托管的用户(dev.mysite.com
& mysite.com
)无法访问其他托管的文件。阅读:一切都应该通过git hooks发生,因为我无法将文件移动到其他主机的目录中。
此外,我不想手动ssh到服务器以将更改提取到相应的主机,因为我不是唯一的开发人员,但唯一一个有ssh访问权限但我不想被调用每隔5分钟就会有新的变化。
答案 0 :(得分:0)
完全可能:
http://toroid.org/ams/git-website-howto
的详细说明对于你,你需要在服务器git存储库上有一个post-recieve hook,看起来有点像这样(伪脚本):
#/斌/庆典
如果push是分支dev /
GIT_WORK_TREE = / var / www / dev.mysite.com git checkout -f
退出
否则,如果推送到分公司主人 GIT_WORK_TREE = / var / www / mysite.com git checkout -f
这可能会让你满意! :)
希望它有所帮助!