合并了评论分支后,Gitlab CI会自动对主分支重新设置基址

问题描述 投票:1回答:1

我们使用同行评审过程,完成后要求审稿人合并到Review分支中。

事情是,经过审查后,我们希望我们的master分支能够自动根据Review分支所具有的内容进行基础调整。这将反映出我们当前的手动流程,其中回购维护人员手动将审核分支重新建立基础以进行部署。

我们如何实现这种自动化?

git gitlab-ci branching-and-merging branching-strategy
1个回答
0
投票

这可以通过gitlab-ci管道任务来实现。本质上,您将需要合并以掌握和推送。不幸的是,gitlab运行程序没有直接的方法来推送到远程。

以下是解决方法

  • [C0中的设置ssh键]
  • 在本地进行git更新
  • 推送到远程

下面的示例代码

before_script

merge_to_master: before_script: - which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y ) - eval `ssh-agent -s` - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - ssh-keyscan -H <Your gitlab server> >> ~/.ssh/known_hosts - ssh -vT git@<Your gitlab server> variables: VERSION: "$CI_PIPELINE_ID" VERSIONNAME: "$CI_COMMIT_REF_SLUG" only: - <Review* or similar> script: - export LC_CTYPE=en_US.UTF-8 - git config --global user.email "Some user email - Typically the machine user" - git config --global user.name "Some name" - git checkout master - git merge $CI_COMMIT_REF_NAME - git push ssh://git@<Your gitlab server>/<Repo> HEAD:master stage: dev_deploy -包含git专用SSH密钥的环境变量,请参考$SSH_PRIVATE_KEY

[https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent-仅在您要在推送后跳过构建的情况下才添加]

© www.soinside.com 2019 - 2024. All rights reserved.