Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins仅在GIT差异时执行作业_Git_Jenkins - Fatal编程技术网

Jenkins仅在GIT差异时执行作业

Jenkins仅在GIT差异时执行作业,git,jenkins,Git,Jenkins,我让我的詹金斯和Bitbucket在一起。在Bitbucket中,我使用webhook在提交到存储库时触发Jenkins作业。现在的问题是,对任何分支的任何提交都会触发此webhook,因此始终会触发此作业。 在不同的问题上,我首先找到了“解决方案”,将Jenkins GIT插件中要构建的分支设置为*/master。但这并不是一个真正的解决方案。无论如何,作业都会触发,但它只会构建主分支。我的工作的下一步将无论如何执行 因此,我尝试了另一个“解决方案”,在“执行shell”步骤中加入if/els

我让我的詹金斯和Bitbucket在一起。在Bitbucket中,我使用webhook在提交到存储库时触发Jenkins作业。现在的问题是,对任何分支的任何提交都会触发此webhook,因此始终会触发此作业。 在不同的问题上,我首先找到了“解决方案”,将Jenkins GIT插件中要构建的分支设置为*/master。但这并不是一个真正的解决方案。无论如何,作业都会触发,但它只会构建主分支。我的工作的下一步将无论如何执行

因此,我尝试了另一个“解决方案”,在“执行shell”步骤中加入if/else以检查“git diff”是否为真。但它总是以“无更改”退出,因此我最终从未执行此shell步骤。尽管这之后的其他步骤都已执行。 我的结论是,为什么git diff从未做过一些更改,因为在我运行这个命令之前,git插件已经获取了最新的文件

我要寻找的是GIT插件正在寻找主分支,如果没有任何更改,整个作业将被取消,状态必须保持原来的状态

有没有我错过的配置?你知道解决这个问题的方法吗