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

Jenkins archiveArtifacts配置:如何从指定虚拟机检索文件?

配置Jenkins流水线的archiveArtifacts访问虚拟机目录

首先明确:archiveArtifacts 步骤默认从当前执行该步骤的Jenkins Agent工作空间归档文件。你的任务通过agent.jar在固定虚拟机运行,该虚拟机本身就是Jenkins的一个Agent节点,VM-workspace就是它的工作空间目录。

核心配置步骤

  • 指定目标虚拟机Agent执行归档
    若整个流水线都在该虚拟机Agent上运行,直接添加archiveArtifacts步骤即可;若仅部分步骤在该Agent上,需用agent或node块指定Agent的标签/名称:

    pipeline {
        agent {
            label 'your-vm-agent-tag' // 替换为虚拟机Agent的标签或名称
        }
        stages {
            stage('归档工件') {
                steps {
                    // 归档VM-workspace下的指定文件,路径为Agent工作空间的相对路径
                    archiveArtifacts artifacts: '**/*.jar, logs/**/*', fingerprint: true
                }
            }
        }
    }
    

    比如要归档VM-workspace/build/output.jar,直接写build/output.jar或**/output.jar即可。

  • 处理非默认工作空间的情况
    如果VM-workspace不是Agent的默认工作空间,可以通过dir块切换到该目录后再归档:

    steps {
        dir('/absolute/path/to/VM-workspace') { // 替换为虚拟机上VM-workspace的绝对路径
            archiveArtifacts artifacts: '**/*.zip', allowEmptyArchive: false
        }
    }
    
  • 验证文件路径
    可先添加命令行步骤确认文件存在:

    steps {
        sh 'ls -la /absolute/path/to/VM-workspace' // Linux虚拟机
        // bat 'dir C:\\absolute\\path\\to\\VM-workspace' // Windows虚拟机
        archiveArtifacts artifacts: '**/*.txt'
    }
    

注意事项

  • 确保Jenkins Agent进程(agent.jar)拥有VM-workspace目录的读取权限,否则无法归档文件。
  • allowEmptyArchive: true可在无匹配文件时避免流水线失败,根据需求调整。
  • 若文件已同步到Jenkins主节点,也可直接在主节点工作空间归档,但需确认文件已传输到位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:39:58