You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins流水线Post段中always与cleanup条件的差异是什么?

Jenkins Pipeline Post段中always与cleanup的区别

虽然always和cleanup在流水线任意状态下都会执行,但两者的执行时机和适用场景有明确区别:

  • 执行时机不同

    • always:会在流水线(或对应阶段)的主体流程结束后立刻执行,是Post段中较早触发的块,不受其他Post条件块的影响,只要主体流程结束就会运行。
    • cleanup:是Post段里最后执行的块——它会等所有其他Post条件块(比如success、failure、changed、always)都执行完成后,才会启动。
  • 适用场景不同

    • always:适合做需要及时触发的收尾动作,比如发送流水线执行结果通知(不管成败都要同步给团队)、生成统一的执行记录文件。
    • cleanup:专门用于资源清理操作,比如删除流水线运行时生成的临时目录、关闭临时启动的测试容器、释放占用的云资源。因为它最后执行,能确保其他Post步骤(比如失败时收集故障日志)完成后再清理,避免过早清理导致后续步骤丢失必要数据。

举个实际执行顺序的例子:如果你的Post段包含success、failure、always、cleanup,那么执行顺序是:

  1. 根据流水线状态执行success或failure
  2. 执行always块
  3. 最后执行cleanup块

内容的提问来源于stack exchange,提问作者Anna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:09:52