gpt4 book ai didi

git - jenkins 子模块基于 git commit 构建

转载 作者:行者123 更新时间:2023-12-03 04:02:09 28 4
gpt4 key购买 nike

我们在一个 git 存储库中有一些带有 gradle 子模块的项目。

|project
|-submodule1
|-submodule1-api
|-submodule2
|-submodule2-api
|-submodule3
|-submodule3-api



在提交到这个 git 存储库时,Jenkins 开始工作(编译、测试、SCA)(我们使用 git web Hook 。参见 https://stackoverflow.com/a/12794930/1623597)。我们为每个子模块(submodule1、submodule2 等)都有作业。

问题是 Jenkins 开始了所有〜10个工作。
  • 只有当我们在某些特定类中有更改时才可能触发工作? (如项目/子模块2/src/main/java/com/test/Hello.java)
  • git hook中是否可以有一些变量?那只会触发 Jenkins 的特定构建?
  • 如果我们对特定目录进行更改,jenkins 是否有会触发构建的插件?
  • 最佳答案

    Jenkins Git插件允许您在作业的配置中定义它。在 Source Code Management / Git / Additional Behaviours为此选择一个名为 Polling ignore commits in certain paths 的选项.

    If set, and Jenkins is set to poll for changes, Jenkins will pay attention to included and/or excluded files and/or folders when determining if a build needs to be triggered. Using this behaviour will preclude the faster git ls-remote polling mechanism, forcing polling to require a workspace thus sometimes triggering unwanted builds, as if you had selected the Force polling using workspace extension as well.



    然后,您将能够使用正则表达式配置包含或排除您想要或不想触发构建的区域。这样您就可以限制轮询策略。

    有关详细信息,请参阅内置帮助 (?)。

    关于git - jenkins 子模块基于 git commit 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36594588/

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