首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为多个分支的工作启用Github网络钩子?

为多个分支的工作启用Github网络钩子?
EN

DevOps用户
提问于 2018-05-02 20:15:37
回答 2查看 2.8K关注 0票数 3

我正在为几个项目建立一个CI计划,在Jenkins上,使用多分支插件。一切都很顺利,但我的强迫症总是想要更多。

现状:

多分支的功能正在发挥作用:拾起并建立新的分支和PRs。它通过轮询来做到这一点:每隔N分钟,它就会轮询Github以获得新的分支和分支更新。

我要:

我非常想建立新的推送吉特布Web钩子推送事件,并避免轮询。当不处理多分支时,只需检查GitHub hook trigger for GITScm polling框即可。在这种情况下,我将不得不向Jenkinsfile添加一个新的触发器。我想应该是:

代码语言:javascript
运行
复制
triggers {
    githubWebhook()
}

目前,我的Jenkinsfile是这样的:

代码语言:javascript
运行
复制
pipeline {
    agent {
        docker {
            image '${REDACTED}/builder:sbt-0.13-jdk-oracle-8'
            args '-v sbt-cache:/root/.sbt/ -v ivy-cache:/root/.ivy2/'
            customWorkspace '/src/'
        }
    }
    options {
        buildDiscarder(logRotator(numToKeepStr: '10'))
        timestamps()
        timeout(time: 1, unit: 'HOURS')
    }
    stages {
        stage('Testing') {
            steps {
                sh "sbt clean coverage test coverageReport coverageAggregate sonar"
            }
        }

        stage('Push snapshot'){
            when {
                not {
                    branch 'master'
                }
            }
            steps {
                echo "[DRYRUN] sbt publishSnapshot"
            }
        }

        stage('Push release') {
            when {
                branch 'master'
            }
            steps {
                echo "[DRYRUN] sbt publish"
            }
        }
    }
    post {
        changed {
            echo "[DRYRUN] changed build"
        }
    }
}

有人处理过这样的事吗?还有别的办法吗?

EN

回答 2

DevOps用户

发布于 2018-05-03 17:02:15

根据官方GitHub分支插件文档,如果在Jenkins全局设置中配置了GitHub API令牌,则插件可以自动为您配置webhooks:

您可以更改构建配置以在不同的时间执行文件夹计算。如果您的GitHub存储库在过去一天内没有收到来自GitHub的任何更改通知,则默认设置将扫描它的更改。此扫描将捕获从托管GitHub存储库中添加或删除的存储库。始终可以强制文件夹计算从“GitHub组织”页面中运行。虽然构建触发器通常是足够的,但是当更改被推送到GitHub存储库时,您可以设置Web挂钩来自动触发构建。要做到这一点,您必须有一个带有令牌的GitHub登录。

  1. 转到主配置设置页面,管理Jenkins >配置系统
  2. 在GitHub插件配置部分中,添加具有凭据的服务器。
  3. 如果需要令牌,使用附加操作生成令牌>将登录转换为密码和令牌

您还可以通过GitHub本身通过注册服务器配置的帮助部分中提供的URL手动配置这个URL。

票数 1
EN

DevOps用户

发布于 2018-10-26 11:07:43

首先,您必须在Jenkins ( Github组织)中创建一个新的作业,并将其配置为扫描所有repos和所有分支,您可以按照这个URL第二步,按Jenkins的扫描组织,现在您将看到包含Jenkinsfile的所有repos和包含所有管道阶段的所有brache,也可以检查此URL

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

https://devops.stackexchange.com/questions/4044

复制
相关文章

相似问题

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