Gitlab-ci.yml创建合并需求

时间:2019-10-10 11:49:17

标签: git gitlab gitlab-ci gitlab-api

我在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

我已经搜索并引用了我的网站,但是看不到有关以编程方式创建合并请求的任何注释。

这个想法是,各种开发人员都在处理数据块集群,并且gitlab计划定期运行。更改将被推送到DEV分支,并将使用合并请求被推送到MASTER分支。

我想知道此MR创建是否可以自动化。请GITLAB新手。

谢谢。

2 个答案:

答案 0 :(得分:3)

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

要创建使用git将dev合并到master的MR,请运行以下命令

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

详细了解此功能here

答案 1 :(得分:0)

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

Gitlab有其官方Gitlab API,您可以访问以创建/更新/删除几乎所有内容。当然,您自己执行这些HTTP请求将是乏味的。尝试使用python library for gitlab做您想做的事。您实际上可以使任何可编程的东西!

专门针对MR,您可以查看this chapter