Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
我如何配置我的Maven Jenkins作业,以便只构建我';你签入代码了吗?_Maven_Jenkins_Jenkins Plugins_Maven 3_Multi Module - Fatal编程技术网

我如何配置我的Maven Jenkins作业,以便只构建我';你签入代码了吗?

我如何配置我的Maven Jenkins作业,以便只构建我';你签入代码了吗?,maven,jenkins,jenkins-plugins,maven-3,multi-module,Maven,Jenkins,Jenkins Plugins,Maven 3,Multi Module,我使用的是Maven 3.5、Git和Jenkins 2.138.1。我为我的多模块Maven项目安排了一份Maven Jenkins工作。通常,如果我只想在Maven中构建一个模块,不管它影响到什么,我都可以运行它 mvn install -pl myModule -am 从命令行。我想做的是配置Jenkins作业,以便在有人签入特定模块的代码时,仅构建受影响的Maven模块及其依赖项,从而加快构建速度。如何在Jenkins中配置此选项?如果您使用的是自由式项目: 您需要安装Maven项目插

我使用的是Maven 3.5、Git和Jenkins 2.138.1。我为我的多模块Maven项目安排了一份Maven Jenkins工作。通常,如果我只想在Maven中构建一个模块,不管它影响到什么,我都可以运行它

mvn install -pl myModule -am

从命令行。我想做的是配置Jenkins作业,以便在有人签入特定模块的代码时,仅构建受影响的Maven模块及其依赖项,从而加快构建速度。如何在Jenkins中配置此选项?

如果您使用的是自由式项目:
您需要安装Maven项目插件
然后有一个选项“仅增量生成已更改的模块”

正如它所述,SCM将处理已修改的模块,并仅构建这些模块

如果是管道,则可以使用您提到的上述命令。i、 e

 mvn install -pl myModule -am
问题在于知道在签入时要构建哪些模块

mvn install -amd -pl $(git status | grep -E "modified:|deleted:|added:" | awk '{print $2}' | cut -f1 -d"/")
上面的命令应该可以工作

如果您正在修改pom.xml
您将需要Maven增量插件

下面的URL详细说明了如何使用maven实现这一点:


希望它有帮助:)

这是一个老版本,但应该有助于您的事业,并归功于Beratung Schulong:)

并行构建模块与增量构建不兼容-如屏幕截图所述。所以它要么是并行的,要么是增量的,要么是独占的。答案有用吗?还是你仍然面临问题??