3

我想直接从 git 到我的 ovh 服务器配置我的 Symfony 网站的自动部署(性能提供 - 具有 SSH 访问权限)。

我遵循了这些 ovh 说明:https ://docs.ovh.com/fr/fr/web/hosting/24-days/day07/

  1. 在 $HOME/bin 中安装作曲家
  2. 使用 git init --bare 创建了一个远程 git 存储库 $HOME/depot_git_beta
  3. 在 $HOME/depot_git_beta/hooks 创建了一个 post-receive 文件

    #!/bin/bash
    
    # Hook post-receive
    
    # Force source bash profile to update PATH
    source ~/.bash_profile
    source ~/.bashrc
    
    GIT_REPO=$HOME/depot_git_beta
    DEPLOY_DIR=$HOME/beta
    
    # Go to deploy directory to load ovhconfig
    cd $DEPLOY_DIR
    ovhConfig
    cd -
    
    while read prevsha1 newsha1 ref
    do
        if [[ $ref =~ .*/develop$ ]];
        then
            echo "Deploying develop branch to beta..."
            git --work-tree=$DEPLOY_DIR --git-dir=$GIT_REPO checkout -f
            cd $DEPLOY_DIR
    
            # Install vendors
            composer install --no-dev --no-interaction
            echo "Vendors updated!"
    
            # Update database
            php bin/console doctrine:schema:update --force
            echo "Database for beta environment updated!"
    
            # Clear cache
            php bin/console cache:clear --env=dev
            php bin/console cache:clear --env=prod
            echo "Cache cleared!"
    
        else
            echo "Ref: $ref isn't develop. Nothing to do on beta"
        fi
    done
    
  4. 添加远程存储库

    git remote add ovh VOTRE_IDENTIFIANT@ftp.clusterXXX.hosting.ovh.net:depot_git_beta
    
  5. 但是当我这样做时git push ovh develop,它似乎确实有效,git bash 告诉它是最新的,但在 ovh 服务器中似乎没有发生任何事情。

知道出了什么问题或我应该先看哪里吗?

4

1 回答 1

1

问题本质上是因为我没有部署 master 分支,所以我必须在这一行中精确它:

$ git --work-tree=... --git-dir=... checkout -f develop

看到这个非常有用的答案

(感谢 piarson 帮助我找到解决方案!)

于 2017-08-31T15:28:25.960 回答