有三个分支。 dev, main, prod.
需求:每当我在 gitlab 将 dev 合并到 main 分支。自动触发 main 分支合并到 prod 分支。
写了几个 CI/CD 都有不对,特来问问大佬们
1
Jack927 241 天前
这样可行?
``` only: - main before_script: - > if ! git log -1 --pretty=%B | grep -qE "Merge branch 'dev' into 'main'"; then echo "无须处理..."; exit 0; fi script: # 这里做你的合并 - 'git merge main prod' ``` |
2
GKD OP @Jack927 直接在 CI/CD 里执行 git 命令会有权限问题。 我现在准备用 GITLAB API 来实现。应该可行。
贴个错误 ``` Fetching changes with git depth set to 20... Initialized empty Git repository in /root/builds/dRuCU3mz/0/York.Yang/git/.git/ Created fresh repository. Checking out d8e5add6 as detached HEAD (ref is main)... Skipping Git submodules setup Executing "step_script" stage of the job script $ git merge origin/main origin/prod merge: origin/prod - not something we can merge ERROR: Job failed: Process exited with status 1 ``` |
3
chf007 241 天前
只能 api 实现吧
|
4
sampeng 241 天前
友情提示。千万别干这种自动的事。偷懒一时爽,代码消失哭的时候在后面
|
5
guanzhangzhang 241 天前
你 git merge 之前 git fetch origin/main 试试
|