我在jenkins中使用maven clean install
。
我的war文件包含一个名为“.ebextensions”的文件夹。
我在詹金斯写了三个不同的工作。
一个用于生产,一个用于测试,一个用于开发。
我希望在测试环境中生成战争时排除'.ebextensions'目录中的一些文件,并在为开发环境生成战争时排除整个目录。
如何实现这一目标?
答案 0 :(得分:0)
在pom.xml中添加对maven-jar-plugin的排除:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<excludes>
<exclude>**/ebextensions/*</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
如果你需要特定的环境,maven不支持if语句, 你可以使用Ant-contrib的if任务
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antcontrib.properties"
classpathref="maven.plugin.classpath" />
<if>
<equals arg1="${env}" arg2="development" />
<then>
<excludes>
<exclude>**/ebextensions/*</exclude>
</excludes>
</then>
<else>
<echo message="Do not exclude" />
</else>
</if>
</tasks>
</configuration>
并发送到maven env参数:mvn install -Denv=development