将GIT版本控制下的Web项目部署到共享主机

时间:2013-02-20 00:34:46

标签: git deployment bitbucket smartgit

我正在开发一个wordpress主题,它使用Git和本地开发区域(WAMP)进行版本控制。我使用smartgit作为GUI将提交推送到bitbucket。我有2个分支,掌握和发展。我想将开发分支部署到临时区域(我的实时服务器上的wordpress安装)。我尝试过使用ftploy来实现这一点;但是它似乎不允许我选择部署哪个分支,我想为实际的最终部署保留主分支的部署。我正在使用共享主机但我有SSH访问权限。如何才能最好地将开发分支部署到共享主机。 Git未安装在服务器上(并且不能安装)

5 个答案:

答案 0 :(得分:7)

有一个article建议8个应用程序用于git自动部署

豆茎 - http://beanstalkapp.com/

FTPloy - http://ftploy.com/

部署 - https://www.deployhq.com/

Springloops - http://www.springloops.io/

Wercker - http://wercker.com/

Octopus Deploy [.net] - https://octopusdeploy.com/

Capistrano [Ruby] - http://capistranorb.com/

Bamboo + Phing [PHP] - https://www.atlassian.com/software/bamboo

答案 1 :(得分:6)

查看git-ftp

  

我使用git-ftp作为基于脚本的项目,主要是PHP。大部分的   低成本的网络托管公司不提供SSH或git支持,但是   只有FTP。

     

这就是为什么我需要一种简单的方法来部署我的git跟踪项目。   我想,为什么不是,而不是转移整个项目   转移自上次更改的文件,git可以告诉我   那些文件。

     

即使你正在玩不同的分支,git-ftp知道哪个   文件是不同的。没有普通的FTP客户端可以做到这一点。

答案 2 :(得分:4)

我是FTPloy的创始人,我只想告诉您我们现在已经发布了分支选择功能。

答案 3 :(得分:1)

使用this script结束,这完全符合我的要求。实际上它是由构建ftploy的同一个人编写的,但由于我可以访问脚本,因此我能够确定部署了哪个分支。顺便说一句,我发现ftploy roadmap包括能够为Bitbucket项目选择分支。

答案 4 :(得分:0)

由于您具有SSH访问权限,因此在我看来您可以在git post-receive hook脚本中设置rsync命令。 见https://github.com/EugeneKay/scripts/blob/master/bash/git-deploy-hook.sh 我用gitolite用过这个,但我确信也可以用github钩做一些类似的东西(任何人?)