Gitlab-ci.yml 创建合并请求

问题描述 投票:0回答:2

我在 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 gitlab gitlab-ci gitlab-api
2个回答
16
投票

您可以使用 git push 选项在 Gitlab 中创建 MR。

要使用 git 创建 MR 以将

dev
合并到
master
,请运行以下命令

git push origin HEAD:dev -o merge_request.create -o merge_request.target=master 

了解有关 Gitlab 合并请求的推送选项的更多信息


-1
投票

实际上有一种更好的可编程方式来创建 MR。

Gitlab 有其官方 Gitlab API 您可以访问以创建/更新/删除几乎任何内容。当然,自己完成这些 HTTP 请求会很乏味。尝试使用 gitlab 的 python 库来做你想做的事。您确实可以使任何东西可编程!

具体处理MR,可以看

这一章

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