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

测试执行期间如何打印Jenkins指定目录的文件及文件夹列表?

在Jenkins测试运行期间打印指定目录内容的方法

当然可以!在Jenkins测试运行过程中打印指定目录下的所有文件、文件夹内容完全可行,这里有几种实用的实现方式,根据你的Jenkins环境和配置习惯选择即可:

方法一:Shell脚本(Linux/Unix环境)

如果你的Jenkins构建节点是Linux或Unix系统,直接在构建步骤中添加「Execute shell」任务,使用常见的文件遍历命令就能实现:

  • 打印目录下所有内容(包含子目录,带详细权限、大小等信息):
echo "=== 目录/var/jenkins_home/jobs/${JOB_NAME}/workspace/targets 内容如下 ==="
ls -laR /var/jenkins_home/jobs/${JOB_NAME}/workspace/targets

这里的*${JOB_NAME}*是Jenkins内置的环境变量,会自动替换为当前运行的Job名称,不用手动硬编码Job名,适配性更强。

  • 只输出简洁的文件/文件夹路径列表(递归子目录):
find /var/jenkins_home/jobs/${JOB_NAME}/workspace/targets -type f -o -type d | sort

find命令可以灵活筛选,比如去掉-type f就只显示文件夹,sort让输出结果更整齐有序。

方法二:Jenkins Pipeline脚本

如果你的项目用的是Jenkins Pipeline(声明式或脚本式),可以直接在Jenkinsfile中添加打印步骤:

pipeline {
    agent any
    stages {
        stage('Print Targets Directory Content') {
            steps {
                sh '''
                    echo "=== 开始打印指定目录内容 ==="
                    ls -laR /var/jenkins_home/jobs/${JOB_NAME}/workspace/targets
                    echo "=== 目录内容打印完成 ==="
                '''
            }
        }
    }
}

同样借助*${JOB_NAME}*变量自动适配当前Job,不管哪个Job复用这个Pipeline,路径都会自动匹配。

方法三:Windows环境适配

如果你的Jenkins构建节点是Windows系统,就用Windows批处理命令,在「Execute Windows batch command」步骤中添加:

echo === 目录C:\Jenkins\jobs\%JOB_NAME%\workspace\targets 内容如下 ===
dir /s /b "C:\Jenkins\jobs\%JOB_NAME%\workspace\targets"

/s参数表示递归遍历子目录,/b表示输出简洁的路径格式,路径带空格时一定要用引号包裹。

小提示

  • 确保Jenkins运行用户拥有目标目录的读取权限,否则会出现权限不足的报错。
  • 如果你的Workspace路径有自定义配置,记得根据实际情况调整目录路径,比如有些Jenkins会把Workspace放在其他位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:21:07