如何使用jenkins删除目录中的文件

JAV*_*HON 1 jenkins jenkins-plugins

在我的系统中,我每天都在1个文件夹中下载新版本,然后将其用于其他原因,但是在运行jenkins作业后,我想删除该文件夹(而非工作空间)中的文件,这将从同一目录中删除特定的文件夹。这将有助于我根据同一台计算机上运行的不同jenkins作业每次下载新版本。

例如:

我正在下载xx build,然后在计算机上运行jenkins作业,然后,如果我想运行其他需要xy build的作业,它将只查看文件夹中是否已经有一些build。如果存在,它将在此之后不下载任何工具包。因此,现在最简单的操作是在每次运行jenkins之后删除xx(构建后),以便下次下载xy。

请帮忙。提前致谢

kat*_*ash 7

您可以使用以下语法删除整个文件夹,以删除名为的文件夹bin

stage('Setup') {
    steps {
        dir ('bin') {
            deleteDir()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Rag*_*han 3

如果我的理解是正确的,请考虑我的以下假设

如果您的 jenkins 在 Unix 服务器上运行,那么您可以按照上面 nerdwaller 的建议配置构建后步骤

  1. 在作业配置中的构建步骤中,选择选项“执行unix命令”
  2. 在 shell 脚本框中,您可以使用rm -rf <<directoryname>>

否则,如果您的 jenkins 在 Windows 服务器上运行,则从构建步骤中选择“执行批处理命令”并给出适当的命令,例如 rmdir /Q /S nonemptydir

然而,我最好的方法是使用独立于平台的工具(如 ant)来使用Ant 删除任务来删除文件夹,并且可以像上述两种方法一样进行配置,而不是在构建步骤/构建后步骤中选择“调用 ant”。

这将帮助您实现您所需要的。