通过Git部署到不同的Web服务器

时间:2016-12-08 04:10:06

标签: git deployment workflow githooks

根据分支名称,远程Git存储库是否可以(如果是,这是一种好的做法)部署到多个Web服务器(例如,登台服务器和生产服务器)?例如,如果开发人员A将提交推送到远程分支STAGING,则提交将部署到相应的登台Web服务器,而提交(或合并)到分支MASTER则部署到生产服务器。 / p>

这是否说明了良好/可靠的工作流程?如果没有,那么更好的方法是什么?

Git workflow example

1 个答案:

答案 0 :(得分:1)

是的,我之前已经看到过(比如我的previous answer from 2012

get the branch name,请使用:

branch=$(git rev-parse --symbolic --abbrev-ref $refname)

然后你可以推送到正确的服务器

  if [ "master" == "$branch" ]; then
    git push production
    echo 'Changes pushed live.'
  fi

  if [ "staging" == "$branch" ]; then
    git push staging
    echo 'Changes pushed to staging.'
  fi

假设有两个遥控器,每个遥控器都引用一个远程裸仓 目的地裸仓库将有一个post-receive挂钩:

git --work-tree=/path/under/root/dir/site/ checkout -f $branch
相关问题