使用Github部署的Git流程

时间:2012-11-16 14:10:11

标签: git deployment github release git-flow

我是一个由4个其他开发人员组成的团队,我们正在学习GIT并使用gitflow模型和github作为中央回购。到目前为止,我们已经在github上创建了中央存储库,我们可以创建功能,将它们推送到中央仓库并从那里拉动以获得彼此的更改。

所有开发人员都在本地计算机上工作,但我们有3台服务器设置 - 开发,登台和生产。

发展是每个人都可以看到彼此变化的地方,一旦我们开心,我们就会转移到分期。这是在我们最终使网站投入生产之前进行测试以确保一切正常的地方。

该网站目前已完成,我们已在开发服务器上克隆了存储库并提取了所有网站文件,以便我们可以看到所有更改。但是,我们现在不确定我们应该部署到分段并最终生产。

  1. 我们首先在本地创建一个发布分支并推送到中央存储库吗?
  2. 我们是否在登台和生产服务器上克隆中央仓库?
  3. 如果是这样,我们是从中央回购中取出还是不应该在生产服务器上使用GIT?我读过关于使用rsync以及钩子的消息?!
  4. 如果有人可以请说明接下来的步骤,或者将我指向某个解释它的地方,这将非常有帮助。

    由于

1 个答案:

答案 0 :(得分:4)

我会有一个人负责部署到不同的服务器,尤其是分期和生产。 这样,当您创建发布分支时,此分支将部署在临时服务器上。完成发布分支后,将主分支部署到生产服务器。

您可以将repo克隆到暂存和生产,只需确保.git目录具有适当的安全性(.htaccess是您的朋友:)),以便非开发人员无法使用访问该目录。

我会在生产服务器上使用git pull。我也读过有关rsync和hooks的内容,但是git对我来说效果很好。

现在有时当我为客户工作时,不允许在服务器上使用git而我使用ftp。在github上有一个名为git-ftp的Pyhton程序,我稍微适应了git-flow。我没有把这个版本放在github上,也许我应该。

作为第一条评论的后续行动
执行升级和生产版本的人员将在他/她的本地计算机上执行以下步骤:

git flow release start -F 1.0

做一些工作,比如更新版本号 将其发布到github

git flow release publish 1.0

在登台服务器上:

git pull origin release/1.0

暂存期结束后,在本地计算机上

git flow release finish 1.0

在生产服务器上

git pull origin master