我在 DEV 分支中运行以下 gitlab-ci.yml 文件,目标也为 DEV。 由于我无法将 TARGET 指向 MASTER,因此不会自动创建 MR。 我想知道是否可以在 gitlab-ci 脚本本身中创建合并请求。
dev:
stage: deploy
script:
- url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"`
- git remote set-url origin "https://gitlab-ci-token:${CI_TAG_UPLOAD_TOKEN}@${url_host}"
- databricks workspace export_dir -o /mynotebooks.
- git add .
- git commit -m 'Add notebooks to Repo' -a || true
- git push origin HEAD:dev
tags:
- test
我已搜索并引用了我的网站,但找不到任何有关以编程方式创建合并请求的注释。
这个想法是各个开发人员正在一个 databrick 集群上工作,并且 gitlab 计划定期运行。 更改将被推送到 DEV 分支,并使用合并请求推送到 MASTER 分支。
我想知道这个MR创建是否可以自动化。 新来 GITLAB 请。
谢谢。
您可以使用 git push 选项在 Gitlab 中创建 MR。
要使用 git 创建 MR 以将
dev
合并到 master
,请运行以下命令
git push origin HEAD:dev -o merge_request.create -o merge_request.target=master
了解有关 Gitlab 合并请求的推送选项的更多信息。
实际上有一种更好的可编程方式来创建 MR。
Gitlab 有其官方 Gitlab API 您可以访问以创建/更新/删除几乎任何内容。当然,自己完成这些 HTTP 请求会很乏味。尝试使用 gitlab 的 python 库来做你想做的事。您确实可以使任何东西可编程!
具体处理MR,可以看这一章。