Continuous integration 如何在jenkins中的每个构建开始之前清理特定目录?

Continuous integration 如何在jenkins中的每个构建开始之前清理特定目录?,continuous-integration,hudson,integration,jenkins,Continuous Integration,Hudson,Integration,Jenkins,我通过java将jenkins与hudson cli一起使用。我想在每次构建之前清理一个特定的目录。有什么想法吗?我已经提供了maven命令clean包,它为每个构建清理目标文件夹。我想要的是在每次构建之前清理一些其他目录。如何做到这一点 在jenkins中,我指定了maven项目的URL,它将在构建时将文件下载到工作区。当我发出清理包命令时,它会在每次构建时清除目标文件夹。有另一个文件夹与目标文件夹平行。我想清除maven project中的文件夹如果您运行的是1.433版或更高版本,请使用项

我通过java将jenkins与hudson cli一起使用。我想在每次构建之前清理一个特定的目录。有什么想法吗?我已经提供了maven命令clean包,它为每个构建清理目标文件夹。我想要的是在每次构建之前清理一些其他目录。如何做到这一点


jenkins中,我指定了maven项目的URL,它将在构建时将文件下载到工作区。当我发出清理包命令时,它会在每次构建时清除目标文件夹。有另一个文件夹与目标文件夹平行。我想清除maven project中的文件夹

如果您运行的是1.433版或更高版本,请使用项目配置部分中的前步骤/后步骤,分别位于构建部分的上方和下方

否则,请安装

您可以配置来处理清洗


如果您不能修改pom.xml,如下所述,您也可以使用它。

您可以在每次生成之前添加一个作业来清理所需的目录。我用过ANT,不知道MAVEN。这也不会依赖于机器。

我不确定我是否正确理解了这个问题,但如果您使用存储库轮询更改,并且在每次新构建之前,您确实从repo中提取所有文件项目,您可以使用名为“通过先删除模拟干净签出…”的选项之一这样,在每次生成之前都应该删除所有文件夹


如果不是这样的话,我想到的最简单的答案就是简单地编写一个CMD脚本,它只对不需要的文件/目录执行DEL命令,并将其作为windows批处理命令的前一步或后一步运行。

在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>

词
假的
maven清洁插件
2.5
默认清除
预清洁
清洁的
不签入/生成
**/*
假的
在执行commad时,只需执行maven命令
mvn-Pci clean

它使用maven clean插件在每次构建开始之前清除特定目录

我们可以像
mvn-Pci清洁包那样进行打包


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

您可以使用来准确执行此操作。

哪个目录-它与您的构建(工作区、工件等)直接相关、完全无关还是半相关(即由构建中的参数、构建id等设置键控)?我添加了更多信息。谢谢。@BrandonV的解决方案对你有用吗?如果没有-请澄清原因。@kaleeswaran14-您能更新和/或标记答案吗?谢谢。再次更新了我的答案,以符合您的新要求。我试过了。我不知道怎么做?每次在构建开始之前,Maven项目的不同文件夹都必须被删除。您尝试了什么?不能只使用批处理/shell命令?请不要在不解释原因的情况下取消标记答案。在生成build的my maven项目中,目标文件夹被清除并重新生成。在jenkins中开始每个构建之前,我想清理/删除一个目录。所以在prestep中,我使用shell命令清除一个目录。它适用于Mac计算机,但不适用于windows计算机。我想清除/删除没有机器相关代码的目录。是否有其他方法?您可以配置来执行此操作。我已经更新了我的答案。我不能在pom.xml中做任何修改,我需要其他方法来清理jenkins本身的目录。想详细介绍一下这篇旧文章吗?