当前位置: 首页 > 知识库问答 >
问题:

通过轮询Jenkinsfile中的多个GIT回购触发作业

强金鑫
2023-03-14

在具有两个git存储库的Jenkinsfile中,这是一个在单个Jenkins作业中使用多个git存储库的示例:

node {
    dir('RepoOne') {
        git url: 'https://github.com/somewhere/RepoOne.git'
    }
    dir('RepoTwo') {
        git url: 'https://github.com/somewhere/RepoTwo.git'
    }

    sh('. RepoOne/build.sh')
    sh('. RepoTwo/build.sh')
}

如何配置此作业以跟踪这两个存储库的SCM更改,以便每次至少有一个存储库更新时触发此作业?

更新1:以下是我真正使用但不起作用的管道脚本:

properties([
    pipelineTriggers([
        scm('H/5 * * * *')
    ])
])

node {
  stage ('Checkout') {
    dir('cplib') {
      git(
      poll: true,
          url: 'ssh://git@<server>:<port>/base/cplib.git',
          credentialsId: 'BlueOceanMsl',
          branch: 'master'
      )
    }
    dir('cpmffmeta') {
      git(
      poll: true,
          url: 'ssh://git@<server>:<port>/base/cpmffmeta.git',
          credentialsId: 'BlueOceanMsl',
          branch: 'master'
        )
    }
  }

  stage ('Build') {
    ...
  }

共有1个答案

谢裕
2023-03-14

我找到了问题的原因。这是https://issues.jenkins-ci.org/browse/jenkins-37731描述的错误。我用了一个错误的语法。正确的一个看起来是这样的:

properties([
    pipelineTriggers([
        [$class: "SCMTrigger", scmpoll_spec: "H/5 * * * *"],
    ])
])
 类似资料:
  • 我为三个github存储库(app1、app2和app3)中的每一个创建了单独的Jenkins作业。然后是部署和测试存储库。 下面是app1的jenkinsfile。(对于app2,只有GIT\u REPO\u URL1不同 app1/app2/app3上的代码传递分别触发app1/app2/app3 jenkins作业。 现在的问题是,当我把代码更改推到https://github.com/de

  • 问题内容: 我们一直在使用Jenkins进行持续集成。一个典型的构建作业在“源代码管理”部分中指定SVN存储库和凭据,然后在“构建触发器”部分中启用“轮询SCM”,轮询时间表为每10分钟(H / 10 * * ) 。我们已经更新到Jenkins的最新版本,并且正在寻求建立管道版本。典型的管道脚本如下所示: 当手动触发管道作业时,一切运行正常,但是,我们希望每次将新修订签入SVN存储库时都运行该管道

  • 我正在为我的数据库开发GUI设计。 在设计了大部分框架并调试它们之后,我发布了我需要使用ENTER键添加触发按钮的选项,而不是只点击它。 我应该怎么做?我目前正在使用MouseListener作为我的按钮,并希望添加一个在按ENTER键时执行相同操作的监听器。谢谢

  • 我通过jira触发器插件将jenkins作业设置为触发器<但是jenkins作业没有被触发,尽管它从JIRA那里获得了webhook事件。 我检查了如下内容。 Jenkins得到了网络钩子事件。我在詹金斯日志上检查了这个。 我试着为詹金斯设置各种方式,但都失败了。我想知道如何设置jira触发器 > 测试环境 吉拉:6.4.11 我的测试用例是。。。 Jenkins工作设置 选中:向JIRA添加注释

  • 我怎么能在声明性的jenkinsfile中做到这一点,我看到了如何为推送事件而不是评论执行此操作。 我在gitlab文档中找不到任何内容。https://github.com/jenkinsci/gitlab-plugin#job-trigger-configuration

  • 一段时间以来,我们一直在使用 Jenkins 进行持续集成。典型的构建作业在“源代码管理”部分中指定SVN存储库和凭据,然后在“构建触发器”部分中,我们启用“轮询SCM”,轮询计划为每10分钟(H/10 * * * *)。我们已经更新到最新版本的 Jenkins,并希望设置管道构建。典型的管道脚本如下所示: 当手动触发管道作业时,一切正常,但是我们希望每次将新修订版签入SVN存储库时运行此管道。管