代码之家  ›  专栏  ›  技术社区  ›  Tim

Git Hooks-自动服务器部署同步文件

  •  1
  • Tim  · 技术社区  · 7 年前

    我有下面的bash脚本,它位于一个服务器上,我在该服务器上设置了一个自托管的baregit repo。它有一个post-receive-git钩子,用于将代码从git推送到开发分支或生产分支。我有问题修改这个,所以它将更新 this 基本设置教程。

    有人能帮忙吗??

    #!/bin/sh
    while read oldrev newrev ref
    do
        # only checking out the master (or whatever branch you would like to deploy)
        if [[ $ref = refs/heads/master ]];
        then
            echo "Master ref received.  Deploying master branch to production..."
            git --work-tree=/home/mywebsite/public_html --git- 
     dir=/home/mywebsite/gitrepo/mywebsite.git checkout -f master
        else
            if [[ $ref = refs/heads/dev ]];
            then
                echo "Development ref received. Deploying dev branch to staging..."
                git --work-tree=/home/mywebsite/dev_public_html --git-dir=/home/mywebsite/gitrepo/mywebsite.git checkout -f dev
            else
                echo "Ref $ref successfully received.  Doing nothing: only the master branch may be deployed on this server."
            fi
        fi
    done
    
    0 回复  |  直到 7 年前