【问题标题】:How to delete a file before build abort in a critical section with ANT?如何在使用 ANT 的关键部分构建中止之前删除文件?
【发布时间】:2016-11-10 14:24:09
【问题描述】:

大家好!

如果我的构建中止,我想删除一个文件。

这是我的关键部分:

<touch file="PATH/lockfile.txt" />
<unzip src="PATH/archive.zip" dest="PATH/toto"/>

所以,如果在&lt;unzip&gt; 期间构建中止,我想删除lockfile.txt 我怎样才能做到这一点?

不要犹豫,询问更多详情 非常感谢:)!

【问题讨论】:

  • 你在使用ant-contrib之类的库吗?
  • 是的!我不能使用其他库...
  • 在您的情况下解压缩失败的一般情况是什么?你有没有说yes 告诉你使用其他库?这是令人困惑的答复。
  • 对不起,我不能使用其他库...

标签: jenkins ant continuous-integration abort critical-section


【解决方案1】:

如果我们谈论的是作业级别 - 添加构建后操作以删除此文件。这样中止的构建(由于超时或其他原因)立即完成构建部分并移动到后期构建。这将确保删除同一 session\workspace 下的文件。

  1. 转到构建后操作并添加Execute a set of scripts
  2. 添加构建步骤 -> 执行 Apache Ant
  3. 确保您已在机器上安装 ANT 或在 Jenkins 管理中配置为自动安装
  4. 运行以下 ANT 脚本:

<property environment="env"/> <property name="ws" value="${env.WORKSPACE}"/> <delete file="${ws}\${file_Name}"/>

祝你好运!

【讨论】:

  • 我希望这样做,但我还有其他工作正在进行中,如果我不删除此文件,它们将无法运行...创建此文件是为了说“嘿,伙计们,当我删除它时你可以跑……”
  • 我个人不喜欢 I\O 标志为了运行\不运行某些东西——我认为这是一种不好的做法。您不能管理工作以单独触发吗?使用 Throttle 并发构建、锁定插件或任何其他方法在构建管道级别而不是进程级别进行管理?
  • 我是学生,我在一家长期使用该系统的公司工作...我无法按照自己的意愿管理工作:/
  • 无论哪种方式,我的答案都保持不变 - 将构建后操作添加到您的作业以删除文件。你想让我用 ANT 代码编辑答案(与操作系统无关)?
  • 很高兴!
猜你喜欢
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
  • 2019-09-29
  • 2013-11-13
  • 2019-04-30
相关资源
最近更新 更多