# !/bin/bash
# Get count of job2 directory files
count_of_job2_files=`git show --pretty="format:" --name-only <commitID> | grep "job2/" | wc -l`
# if Job2 dir files are more than 0 then termiate the jenkins job
[ $count_of_job2_files -gt 0 ] && exit 0 ;
3条答案
按热度按时间yqhsw0fo1#
这不是一般的情况,我想你有两个办法。
1.拥有两个独立的存储库(将commons作为一个库保存),这并不容易。
1.在Jenkins中做一个调整
1.如果可能的话,在你的存储库中编写一个相同类型的逻辑(如下所示)。
这里有一种方法可以在Jenkins(我的观点2)中实现这一点。
您可以为此编写一个bash脚本。如果提交的文件在job 2目录下,JOB-1中的逻辑将终止,JOB-2也是如此(如果文件来自job 2目录,则终止)
添加此脚本并运行(作为第一个)Job-1 jenkins
在job 2 jenkins中添加为相同类型的脚本。
**注意:**编写逻辑时假设您使用git作为仓库
yebdmbv42#
已找到解决方案,使用ScriptTrigger插件并在轮询时写入脚本,它将检查特定目录的提交。
kg7wmglp3#
这个问题是我第一次在谷歌上搜索到的,所以让我把我后来的发现贴出来:Jenkins现在有一个内置的。