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

TeamCity构建时Allure文件夹报错问题求助

解决TeamCity中Allure目录引发的构建错误

问题现象

  • 执行命令 gradlew clean test 时,报错:

Execution failed for task ':clean'. org.gradle.api.UncheckedIOException: java.io.IOException: Unable to delete directory 'D:\BuildAgent\work{BUILD_NUMBER}\build'
Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.- D:\BuildAgent\work{BUILD_NUMBER}\build\allure-results

  • 执行命令 gradlew test 时,报错:

Execution failed for task ':test'. org.gradle.api.GradleException: Could not read path 'D:\BuildAgent\work{BUILD_NUMBER}\build\allure-results\history'.

解决方案

  • 排查并释放进程占用
    用Windows的资源监视器(Ctrl+Shift+Esc → 性能 → 打开资源监视器),在关联的句柄中搜索allure-results,找到占用该目录的进程并结束。也可以用命令行工具handle.exe执行handle.exe build\allure-results定位进程,再用taskkill /PID <进程ID> /F强制终止。

  • 调整Gradle任务配置
    在项目的build.gradle中添加以下配置,增强clean任务的删除能力,同时确保test任务执行前清理历史目录:

    clean {
        // 强制删除allure结果目录
        delete 'build/allure-results'
        doLast {
            def allureDir = file('build/allure-results')
            if (allureDir.exists()) {
                allureDir.deleteDir()
            }
        }
    }
    
    test {
        // 确保test任务依赖clean完成
        dependsOn clean
        doFirst {
            def historyDir = file('build/allure-results/history')
            if (historyDir.exists()) {
                historyDir.deleteDir()
            }
        }
    }
    
  • 新增TeamCity前置清理步骤
    在TeamCity的构建配置中,添加一个命令行步骤放在Gradle步骤之前,执行手动删除命令:

    rmdir /s /q "%teamcity.build.workingDir%\build\allure-results"
    

    该命令会强制删除目标目录及其子文件,避免Gradle clean任务的删除限制。

  • 升级Allure Gradle插件
    检查项目中Allure插件版本,升级到最新稳定版,修复可能存在的资源释放bug:

    plugins {
        id 'io.qameta.allure' version '2.24.0' // 替换为最新版本号
    }
    
  • 检查TeamCity代理权限
    确认运行TeamCity代理的用户对构建工作目录(D:\BuildAgent\work{BUILD_NUMBER})拥有完全控制权限,避免因权限不足导致的删除/读取失败。

内容的提问来源于stack exchange,提问作者ᴜsᴇʀ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:00:46