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

时间:2019-02-13 06:20:41

标签: git maven jenkins

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

src (parent)

    test/resources

    main/resources

    test/java

    main/java

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

实际上,那些资源仅具有XML格式的测试数据表(如xlsx和测试套件)。因此,如果有任何新添加的数据表或现有数据表中的更新,我只想触发作业。

我不想为此工作代码。只需了解一些如何或想知道将完成此工作的插件即可。

1 个答案:

答案 0 :(得分:1)

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

有些使用git hooks的脚本会在您使用git进行各种操作时执行。

在这种情况下,您可以使用提交后挂钩。无论您放置在<your-project-location>/.git/hooks/post-commit处的什么脚本,都将执行。

假设您可以使用名为“ trigger-jenkins.sh”的脚本来触发jenkins作业,请将以下脚本放入位于<your-project-location>/.git/hooks/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

现在每次您更改测试/资源和主/资源并提交时,git都会执行trigger-jenkins.sh