首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins - Gitlab集成如何构建MR的唯一源码分支?

Jenkins - Gitlab集成如何构建MR的唯一源码分支?
EN

Stack Overflow用户
提问于 2021-09-27 03:57:08
回答 2查看 197关注 0票数 1

我有一个可以工作的Gitlab - Jenkins集成。当在Gitlab上创建MR时,将在Jenkins中触发构建。这是由Gitlab发送给Jenkins的请求完成的,其中包含大量信息,包括源分支和目标分支。

问题是,我无法在Jenkins中找到从那里读取源分支的方法,因为当在Gitlab上创建MR时,Jenkins会触发并构建自上次运行以来具有新提交的所有分支。我有一个安静的回购,这是可行的,通常来自MR的分支是最后推送的分支。

但是,我现在有一个项目,有许多推送,数百个功能分支,许多人都在玩这些代码,我永远不想构建这些分支。当创建和MR时,我只想构建MR的源分支。

我怎样才能做到这一点呢?我怀疑我应该能够以某种方式使用Gitlab发送给Jenkins的请求中的信息来获取源代码分支。

总而言之,当在Gitlab中创建MR时,在Jenkins中触发构建。但是,构建会发现所有分支都已更新

代码语言:javascript
复制
07:10:46 Seen 529 remote branches
07:10:46  > git show-ref --tags -d # timeout=10
07:10:46 Multiple candidate revisions
07:10:46 Scheduling another build to catch up with MR_Builder

并将构建所有更新的分支。我想要防止这种情况,并且只构建触发构建的MR的源代码分支

EN

回答 2

Stack Overflow用户

发布于 2021-09-27 10:06:03

最后,我让它工作了。在Jenkins中工作的Source Code Management部分,我必须使用Gitlab中的变量指定Branches to build,就像这样的origin/${gitlabSourceBranch}

票数 2
EN

Stack Overflow用户

发布于 2021-09-28 08:33:21

一种更好的方法,不需要硬编码特定的分支:https://docs.gitlab.com/ee/integration/jenkins.html#configure-the-jenkins-project

您可以按合并请求事件使用触发器,在所有分支中设置它。只有Jenkins构建分支有合并事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69341044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档