我通过java使用 jenkins 和 hudson cli 。在每次构建之前,我想要清理特定目录。任何的想法 ?我提供了maven命令 clean package ,它为每个构建清理目标文件夹。我想要的是我想在每次构建之前清理一些其他目录。怎么做?
在 jenkins 中,我指定了 maven项目的网址,在构建时将将文件下载到工作区。当我提供清洁包命令时,每次构建时清除目标文件夹。 与目标文件夹平行的另一个文件夹。我想清除
答案 0 :(得分:6)
如果您运行的是1.433或更高版本,请使用位于构建>下方和下方的项目配置部分中的前置步骤 / 后续步骤 strong>部分。
否则,请安装M2 Extra Steps Plugin。
您可以配置maven-clean-plugin来处理清洁工作。
如果您无法修改pom.xml,如下所述,您也可以使用此plugin。
答案 1 :(得分:4)
您可以使用Workspace Cleanup Plugin来做到这一点。
答案 2 :(得分:3)
您可以在每次构建之前添加一个JOB来清理所需的目录。我已经使用过ANT,不知道MAVEN。这也不依赖于机器。
答案 3 :(得分:3)
我不确定我是否正确理解了这个问题,但是如果您使用存储库来轮询更改,那么在每次新构建之前,您都会从repo中提取所有文件项目,您可以使用以下选项之一:“Emulate”通过首先删除来清理结帐...“这样,每次构建之前都应删除所有文件夹。
如果不是这种情况,我想到的最简单的答案就是编写一个CMD脚本,该脚本只对不需要的文件/目录执行DEL命令,并将其作为前一步或后一步运行为windows batch命令。
答案 4 :(得分:0)
在pom.xml中添加如下所示的个人资料标记
<profiles>
<profile>
<id>ci</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>default-clean</id>
<phase>pre-clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
<configuration>
<filesets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fileset>
<directory>do_not_checkin/build</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
执行commad时,只需执行maven命令mvn -Pci clean
。
在每次构建开始之前,使用maven clean插件清除特定目录。
我们可以像 mvn -Pci clean package
那样打包。
清理目录后,执行包阶段。