我知道 GitLab 和 Jenkins 都有彼此的集成点,但是由于我无法控制的原因,我无法使用它们。

很容易将参数传递给作业,告诉它哪个分支,甚至哪个提交要构建。但是,我似乎无法将其调整为正确的配置,它将构建我作为参数传入的合并请求编号。

我需要使用 Jenkins 中开箱即用的“git”功能来做到这一点。 (不能使用 GitLab Merge Request 插件,因为它需要对 repo 进行轮询。)此作业必须手动启动,并通过参数指定合并请求编号。我也不会使用 GitLab 的 webhook 来触发它。此要求是特定合并请求的手动和按需构建。

有可能吗,我只是遗漏了一些(不)明显的东西?

最佳答案

所以没有其他人必须忍受自己解决这个问题......是的......Jenkins可以立即构建一个GitLab合并请求,没有疯狂的插件。

在 Jenkins 中,在 Source Code Management 部分,单击 Advanced ,并将 Refspec 设置为:

+refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*

然后,在 Branch Specifier 字段中,使用:
origin/merge-requests/${MR}

其中 ${MR} 是传递给构建的参数 - 要获取的合并请求的编号。

10-07 18:38