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

Mut*_*thu 5 integration continuous-integration hudson jenkins

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

jenkins中,我指定了maven项目的URL,在构建时将文件下载到工作区.当我提供干净的包命令时,它会在每次构建时清除目标文件夹.还有另一个与目标文件夹并行的文件夹.我想明确的是文件夹,这是Maven的项目中.

bvu*_*laj 6

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

否则,请安装M2 Extra Steps插件.

您可以配置maven-clean-plugin来处理清理.

如果你不能修改你的pom.xml,如下所述,你也可以使用这个插件.


Mut*_*thu 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>
Run Code Online (Sandbox Code Playgroud)

执行commad时只需执行maven命令mvn -Pci clean

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

我们可以像这样打包mvn -Pci clean package

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