如何在jenkins中每次构建开始之前清理特定目录?

时间:2012-03-07 10:59:01

标签: continuous-integration hudson integration jenkins

我通过java使用 jenkins hudson cli 。在每次构建之前,我想要清理特定目录。任何的想法 ?我提供了maven命令 clean package ,它为每个构建清理目标文件夹。我想要的是我想在每次构建之前清理一些其他目录。怎么做?

jenkins 中,我指定了 maven项目的网址,在构建时将将文件下载到工作区。当我提供清洁包命令时,每次构建时清除目标文件夹。 与目标文件夹平行的另一个文件夹。我想清除 项目内的文件夹

5 个答案:

答案 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 那样打包。

清理目录后,执行包阶段。