部署前GitLab CI检查生产(双向部署)

时间:2016-12-14 11:07:20

标签: git bash gitlab-ci gitlab-ci-runner

我使用GitLab CI进行审核/阶段/制作的部署任务。部署当前通过rsync工作。

项目在git中有文件,但也可以在项目所有者的生产中直接从app的管理界面进行更改。

所以我需要解决方案来检查生产服务器上的文件是否已更改,然后创建新分支并将其推送回存储库。然后使用消息&#34失败部署任务;请合并生产更改"。

我尝试使用bash脚本执行此操作:

# $1 GITLAB_USER_ID
# $2 CI_BUILD_REF
# $3 CI_PROJECT_NAMESPACE
# $4 CI_PROJECT_NAME
# $5 CI_BUILD_REF_NAME
if [[ "$1" == 1 ]] || [[ "$1" == 2 ]] || [[ "$1" == 3 ]]; then


    echo "Deploy to production server"
    mkdir "/tmp/depl_$2"
    cd "/tmp/depl_$2"
    git clone git@privategitlab.host:$3/$4.git
    git fetch --all 
    download.sh production
    git checkout -b unmerged-$2
    git commit -m "from server"
    git push -u origin unmerged-$2
else
    echo "Deploy not allowed for you"
    exit 1
fi

但我有两个问题:

  1. 如何了解更改文件的位置以及它们只是旧版本的位置,因为之前的版本已下载?
  2. Gitlab认证似乎跑步者没有推送权。我相信有一个简单的解决方案,然后使用ssh-key创建新的gitlab用户。

0 个答案:

没有答案
相关问题