首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制由詹金斯管道建造哪个分支?

限制由詹金斯管道建造哪个分支?
EN

Stack Overflow用户
提问于 2018-10-15 17:03:26
回答 3查看 9.1K关注 0票数 4

我目前正在配置存放在AWS中的Docker容器上的Jenkins服务器。

我正在使用BlueOcean来配置存储库。

现在,管道扫描存储库中的所有分支,以检测Jenkinsfiles,如果检测到更改,管道将自动在该分支上构建。我每5分钟扫描一次以检测变化。

但是,如果是随机特性分支,我不想自动运行生成和作业。我试图将自动触发的构建限制为仅在暂存和主分支中进行更改。

因此,我的问题是,如何/在哪里配置Jenkins GitHub管道,使其只在特定分支上构建,而不是扫描所有分支?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-16 04:45:28

多分支管道作业是您的朋友。

与其试图限制Jenkins首先轮询哪个分支,我在Jenkinsfile中所做的是每分钟的投票源代码控制:

代码语言:javascript
复制
triggers { pollSCM('* * * * *') }

这将轮询每个分支,并创建一个作业,其中它在多分支管道作业配置中指定的位置和名称中找到Jenkinsfile。

边注 关于多分支管道中的唯一配置是:

  1. 配置管理回购在哪里?
  2. 工作空间相对路径和Jenkinsfile的名称。(如果你愿意,你可以叫它鲍勃)

多分支管道作业设置了一个附加的环境变量: BRANCH_NAME,它允许您在管道中有条件地执行如下操作:

代码语言:javascript
复制
script {
    if( "${env.BRANCH_NAME}" == "integration" ) {
        //Do something useful
    }
}

使用此方法,您还可以决定对投票事件不做任何操作。

票数 4
EN

Stack Overflow用户

发布于 2018-10-15 22:21:32

我猜你在使用github插件。我建议使用通用的Web钩子触发器插件- https://wiki.jenkins.io/display/JENKINS/Generic+Webhook+Trigger+Plugin在您的存储库上配置一个web钩子

这个插件很棒,可以轻松地提取传入webhook中的值,并在管道中使用这些值。为了前夫。您可以从web钩子的来源提取分支,并且只有当分支是stagingmaster时才能构建分支。

在我们的设置中,我们使用一个简单的作业‘web钩子触发处理器’,它从所有存储库读取传入的web钩子,并使用从web钩子提取的值触发下游管道。

票数 1
EN

Stack Overflow用户

发布于 2018-10-16 01:22:54

管道接受输入参数。因此,您可以创建一个名为分支的参数。

在管道中,您可以使用regex来匹配所需的分支。

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

https://stackoverflow.com/questions/52821516

复制
相关文章

相似问题

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