使用GitLab CI/CD自动合并分支

4

GitLab具有此功能,您可以使用流水线在推送代码到项目时执行代码。这是通过其.gitlab-ci.yml文件格式完成的。

我正在尝试使管道合并所有带有前缀"ready/"的分支。我已经编写了一个本地的Python程序来实现它,但它无法在GitLab Docker远程机器上执行。这是因为它只列出“*和master”作为具有“git branch-a”的分支。

我尝试切换到主分支,但那行不通。

GitLab流水线是否可以实现这一点?我应该如何继续?

1个回答

6

根据您想要使用的凭据、个人偏好以及适合您用例的情况,有几种方法可以实现此目标。

  1. 使用CI/CD中的SSH(使用SSH密钥),通过管道作业使用标准git命令来拉取、完成其他操作,然后将其推送到存储库中。
  2. 使用合并请求API,该API需要个人访问令牌。该API允许您创建、接受和合并合并请求。

如果您有很多分支,则可能希望使用第一种方法。


我希望这个可以自动完成。SSH选项需要一个外部计算机来在SSH连接中运行命令吗?API选项不是需要合并请求才能针对所有分支进行操作吗? - user31907
如果您查看文档链接,我提供的链接是关于如何在CI/CD中使用SSH以便您可以在脚本中运行任何git命令的。我已经编辑了我的答案,希望现在更清晰了。至于MR选项,是的,它确实有,这就是为什么我指出如果您有很多分支,最好使用SSH方法的原因。 - Arty-chan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接