Java Jenkins/Maven增量构建问题
我的任务是完成所有与maven/jenkins相关的项目。目前,每当在jenkins(svn驱动)中进行SCM更改时,都会重建更改后的文件,并构建依赖于它的所有内容,这种效果会级联。虽然这在某种意义上是好的,但它不是首选行为。当前需要的是构建修改后的文件,并且构建所有直接相关的文件,而不进行前向级联,除非第二个文件现在不同。我仍然能想到的唯一解决方案(?)是Jenkins/Maven实际上没有意识到项目之间的关系,也没有进行有限的级联,因为它没有触发构建的位置 在Jenkins中,禁用“每当构建快照依赖项时构建”,而是在高级构建选项中使用“增量构建”。还启用了轮询scm。 Jenkins在项目页面上不再明确了解上/下游项目 当SCM变更通过时,不会对直接相关的模块产生级联效应。 Jenkins没有处理增量步骤,所以使用了增量构建插件,没有发生任何不同的行为 在沙箱环境中,模拟实际项目试图完成的内容 沙箱设置 项目A依赖于项目B。 项目B依赖于项目C 当项目C的src代码发生可能影响项目B行为的变更(+SCM'd)时,Jenkins仅重建项目C 用于项目C的pom.xmlJava Jenkins/Maven增量构建问题,java,maven,svn,jenkins,Java,Maven,Svn,Jenkins,我的任务是完成所有与maven/jenkins相关的项目。目前,每当在jenkins(svn驱动)中进行SCM更改时,都会重建更改后的文件,并构建依赖于它的所有内容,这种效果会级联。虽然这在某种意义上是好的,但它不是首选行为。当前需要的是构建修改后的文件,并且构建所有直接相关的文件,而不进行前向级联,除非第二个文件现在不同。我仍然能想到的唯一解决方案(?)是Jenkins/Maven实际上没有意识到项目之间的关系,也没有进行有限的级联,因为它没有触发构建的位置 在Jenkins中,禁用“每当构建
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>project</groupId>
<artifactId>c</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>c</name>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.maven.incrementalbuild</groupId>
<artifactId>incremental-build-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<goals>
<goal>incremental-build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
4.0.0
项目
C
1
罐子
C
org.jvnet.maven.incrementalbuild
增量构建插件
1.3
增量构建
项目B的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>project</groupId>
<artifactId>b</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>b</name>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.maven.incrementalbuild</groupId>
<artifactId>incremental-build-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<goals>
<goal>incremental-build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>project</groupId>
<artifactId>c</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
4.0.0
项目
B
1
罐子
B
org.jvnet.maven.incrementalbuild
增量构建插件
1.3
增量构建
项目
C
1
罐子
旁注:是否有人非常了解“增量构建”选项与“每当构建快照依赖项时构建”选项之间的交互作用?这不是jenkins插件,而是底层maven无法检测到此更改,那么增量构建选项到底做了什么?对我来说似乎做得很好。。没什么,太晚了,但你们在谈论不同的事情。下面的另一个答案(可能是垃圾邮件)是关于“增量构建插件”,这也是完全不同的。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>project</groupId>
<artifactId>b</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>b</name>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.maven.incrementalbuild</groupId>
<artifactId>incremental-build-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<goals>
<goal>incremental-build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>project</groupId>
<artifactId>c</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
</dependencies>
</project>