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

使用jenkins管道在Git repo A上完成提交/拉取请求的git repo B触发器构建

郎宏浚
2023-03-14

我的目标是每当在 Git Repo B 上完成提交/拉取请求时,就触发 Git repo A 上的构建。Git repo 将所有管道代码作为单独的 groovy 代码,Git Repo b 具有由开发团队完成的应用程序代码。我想测试在管道代码中完成的提交触发应用程序代码中的构建的情况。如何使用带有管道的 Jenkins 2 来实现此目的?任何想法或方法都是非常值得赞赏的。

这是我在Git repo A中的jenkinsfile。

branches {
    masterBranch = 'master'

}

integration {

pullRequest {
    version = gradle {    
        goals = 'clean build'
        gradlePath = '/gradle-4.1/bin/gradle'
    }

}

master {
    version = gradle {
        goals = 'clean build'
        gradlePath = '/gradle-4.1/bin/gradle'
    }


}

}

共有1个答案

秋博容
2023-03-14

所以你需要创造2个工作岗位

  • git repo a:带有开发代码
  • git repo b:构建中的选项“当更改被推送到GitHub时构建”触发作业配置。

然后使用“参数化触发器插件”根据以前的构建状态构建所需的作业( repo A )。

    < Li > ref:https://wiki.jenkins.io/display/JENKINS/Parameterized触发器插件
 类似资料:
  • 我正在努力在将提交添加到GitHub上的特定分支时触发Jenkins Pipeline作业。 我在詹金斯工作选项上没有看到合适的构建触发器,就像詹金斯自由式工作一样。 如何将Jenkins管道作业设置为在使用新提交更新分支时触发? 到目前为止,我还没有找到这个场景的明确答案,只有在提交到master时触发Jenkins管道作业,只有关于多分支作业的答案。 任何关于这个问题的帮助将不胜感激!

  • 我们看到在Jenkins多分支管道项目上触发了重复构建。构建通常使用来自Bitbucket的推送通知触发,并使用以下插件:https://marketplace.atlassian.com/plugins/com.nerdwin15.stash-stash-webhook-jenkins/server/overview 然而,出于某种原因,我们现在看到了“双重”构建。如果查看触发的两个生成,一个由

  • 我有一个由github网络钩子触发的JenkinsPipeline作业,因此在提交到Github时会触发构建。但是,我只希望在向master分支提交时触发构建。目前,任何提交都会触发构建,即使提交是在功能分支上进行的。 有没有办法在不诉诸多分支工作的情况下实现这一点? 我在Jenkins配置、jenkinsfile或Github repo的webhook中看不到任何过滤分支(触发器)的方法。 我能

  • 我有一个Jenkins管道作业(不是多分支管道),管道内的逻辑之一是,当gitlab scm上有一个合并请求时,我想基于触发此生成的合并请求的源分支构建一些东西。 我的问题是,在Jenkinsfile中,我如何动态地获取这个源分支,签出代码,并创建一个工作区,以便在这个分支上运行构建?

  • 管道A:仅由其自身回购之外的多个其他管道触发,但在同一项目中。作为被触发的结果,它对自己的回购进行更改,因此触发管道B。 pipleline B:仅由对其自身回购的更改触发,当被触发时,它将继续执行所需的任何操作 将语法流水线化 当前行为 null null 安装:https://docs.microsoft.com/en-us/azure/devops/cli/?view=azure-devop

  • 我有不同的 Jenkins 管道作业,用于构建、部署、QA 自动化测试和发布到生产环境。我正在构建一个 Jenkins Delivery 管道,以便在单个管道中运行这些作业。管道应该类似于 QA 认证完成后,应触发生成作业进行审批,然后发布准备作业可以进一步运行。流量应该是这样的: 在开发分支上使用Jenkinsfile在单个管道作业中运行Build、Junit和SonarQube分析 在上述作业