使用Git自动部署到具有两个分支的两个主机

时间:2015-02-17 22:29:42

标签: git version-control web-deployment

是否可以使用git实现以下自动Web部署:

服务器:

  • GIT Repo with a master and dev branch
  • 托管dev.mysite.com(开发部门)
  • 主持mysite.com(主分会)

基本上我想在我的本地机器上开发然后提交到dev分支来测试真实服务器环境的变化。 如果测试了所有内容,我会将开发提交合并到主/实时站点中。 提交/合并应自动将文件复制到文档根目录。

我已经看过很多关于post-hooks的教程,但我对Git很新,并且真的不知道如何实现这一点。

其他信息

托管是沙盒,分配给托管的用户(dev.mysite.com& mysite.com)无法访问其他托管的文件。阅读:一切都应该通过git hooks发生,因为我无法将文件移动到其他主机的目录中。 此外,我不想手动ssh到服务器以将更改提取到相应的主机,因为我不是唯一的开发人员,但唯一一个有ssh访问权限但我不想被调用每隔5分钟就会有新的变化。

1 个答案:

答案 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

这可能会让你满意! :)

希望它有所帮助!