如何在使用 ANT 的关键部分构建中止之前删除文件?
Posted
技术标签:
【中文标题】如何在使用 ANT 的关键部分构建中止之前删除文件?【英文标题】:How to delete a file before build abort in a critical section with ANT? 【发布时间】:2016-11-10 14:24:09 【问题描述】:大家好!
如果我的构建中止,我想删除一个文件。
这是我的关键部分:
<touch file="PATH/lockfile.txt" />
<unzip src="PATH/archive.zip" dest="PATH/toto"/>
所以,如果在<unzip>
期间构建中止,我想删除lockfile.txt
我怎样才能做到这一点?
不要犹豫,询问更多详情 非常感谢:)!
【问题讨论】:
你在使用ant-contrib
之类的库吗?
是的!我不能使用其他库...
在您的情况下解压缩失败的一般情况是什么?你有没有说yes
告诉你使用其他库?这是令人困惑的答复。
对不起,我不能使用其他库...
【参考方案1】:
如果我们谈论的是作业级别 - 添加构建后操作以删除此文件。这样中止的构建(由于超时或其他原因)立即完成构建部分并移动到后期构建。这将确保删除同一 session\workspace 下的文件。
-
转到构建后操作并添加Execute a set of scripts
添加构建步骤 -> 执行 Apache Ant
确保您已在机器上安装 ANT 或在 Jenkins 管理中配置为自动安装
运行以下 ANT 脚本:
<property environment="env"/>
<property name="ws" value="$env.WORKSPACE"/>
<delete file="$ws\$file_Name"/>
祝你好运!
【讨论】:
我希望这样做,但我还有其他工作正在进行中,如果我不删除此文件,它们将无法运行...创建此文件是为了说“嘿,伙计们,当我删除它时你可以跑……” 我个人不喜欢 I\O 标志为了运行\不运行某些东西——我认为这是一种不好的做法。您不能管理工作以单独触发吗?使用 Throttle 并发构建、锁定插件或任何其他方法在构建管道级别而不是进程级别进行管理? 我是学生,我在一家长期使用该系统的公司工作...我无法按照自己的意愿管理工作:/ 无论哪种方式,我的答案都保持不变 - 将构建后操作添加到您的作业以删除文件。你想让我用 ANT 代码编辑答案(与操作系统无关)? 很高兴!以上是关于如何在使用 ANT 的关键部分构建中止之前删除文件?的主要内容,如果未能解决你的问题,请参考以下文章