gpt4 book ai didi

jenkins - 如何从没有 jenkinsfile 的存储库触发 Jenkins 管道构建?

转载 作者:行者123 更新时间:2023-12-04 12:17:52 26 4
gpt4 key购买 nike

我有一个不包含 Jenkinsfile 的存储库- 我无法影响存储库本身。这意味着我既不能在存储库中添加或更改任何文件(在本例中,它是 Qt repo )。

我想要做的是创建多个 Jenkinsfiles,每个文件都为不同的目标配置和构建 Qt 库,或者运行不同的附加脚本。
所有这些 Jenkinsfiles 将被收集在不同的存储库中。

现在,我的问题是如何创建一个管道作业,一旦 Qt 存储库中发生更改,它就会被触发,但使用另一个存储库中的 Jenkinsfile。

研究离开了我 - 据我所知,据 to these posts - 有两个选项:

  • 将两个存储库添加到定义部分 - 大致如下:
    enter image description here
    不幸的是,这对我不起作用,因为两个存储库仍然需要一个 Jenkinsfile。此外,我无法为每个存储库指定不同的分支,因此我无法监听特定的 Qt 版本分支。
  • 我看到的第二个(好吧,可能是唯一的)选项是创建一个自由式 Jenkins 作业,该作业仅监听 Qt 存储库并在更改时触发管道作业的构建作为其唯一操作。

  • 我认为,第二种方法对我有用,但我想知道的是,是否有任何插件、配置选项或我遗漏的任何可以以更清晰的方式解决此问题的方法,或者上述方法是否适用做吧。

    最佳答案

    为什么不创建一个使用常规“Poll SCM”方法监视 QT 存储库的 Jenkins 自由式作业?

    然后让 Freestyle 工作启动您的一项或多项 Jenkins 管道工作。

    您将使管道作业指向管道“jenkinsFile”groovy 脚本所在的 SCM(您控制的存储库)。

    在管道代码中,您可以使用管道 SCM DSL 步骤从 Qt 存储库(不受您控制的存储库)中提取代码,然后执行所有构建、测试或其他操作。

    您可以将 Qt Repo 的 URL 和修订作为来自轮询作业的参数传递到管道中。

    关于jenkins - 如何从没有 jenkinsfile 的存储库触发 Jenkins 管道构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116169/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com