如果仅在特定的文件夹结构集上而不是整个仓库中有任何GIT更改,如何触发jenkins作业

问题描述 投票:1回答:1

我只有一个文件夹结构如下:

src (parent)

    test/resources

    main/resources

    test/java

    main/java

如果仅在git存储库中的main / resources或test / resources文件夹中有任何更改,我只想触发Jenkins作业。

实际上那些资源只有xlsx和测试套件等xml格式的测试数据表。因此,如果现有数据表中有任何新添加的数据表或更新,我只想触发一项工作。

我不想为此工作代码。只需要知道如何或想知道将完成这项工作的插件。

git maven jenkins
1个回答
1
投票

您可以在每次提交后触发jenkins作业。

当您使用git执行各种操作时,会执行一些名为git hooks的脚本。

在这种情况下,您可以使用post-commit钩子。无论你在<your-project-location>/.git/hooks/post-commit上放什么剧本都会被执行。

假设您可以使用名为“trigger-jenkins.sh”的脚本触发jenkins作业,请将以下脚本放入位于<your-project-location>/.git/hooks/post-commit的post-commit文件中

#!/bin/bash
if git show | grep -E 'a/main/resources|a/test/resources'; then
        ./trigger-jenkins.sh
fi

确保使后提交文件可执行

chmod +x <your-project-location>/.git/hooks/post-commit

现在,每当你对test / resources和main / resources进行更改并提交它时,git都会执行trigger-jenkins.sh

© www.soinside.com 2019 - 2024. All rights reserved.