Release Pipeline实现构建代理解压zip后复制到Linux服务器的方法
实现步骤
你只需要在下载构建产物和SSH传输文件的步骤之间,新增解压任务,再调整传输任务的配置即可,修改后的完整流水线配置如下:
trigger: none resources: pipelines: - pipeline: MainBuild source: 'Main - Test and Build' trigger: branches: include: - fix/SetFTAPipeline variables: NODE_TLS_REJECT_UNAUTHORIZED: 0 stages: - stage: FTA displayName: FTA_Deploy variables: - group: FTA_Variables pool: name: 'EX_AgentPools' demands: - Agent.Name -equals vmprdbldb999 jobs: - deployment: FTA environment: name: FTA_AR strategy: runOnce: deploy: steps: - download: MainBuild artifact: main # 新增的解压任务,在build agent端执行 - task: ExtractFiles@1 inputs: archiveFilePatterns: '$(Pipeline.Workspace)/MainBuild/main/*.zip' destinationFolder: '$(Pipeline.Workspace)/extracted_fta_files' cleanDestinationFolder: true # 调整后的SSH传输任务,传输解压后的文件 - task: CopyFilesOverSSH@0 inputs: sshEndpoint: CentOS FTA VM APP1 CBVR sourceFolder: $(Pipeline.Workspace)/extracted_fta_files contents: '**/*' targetFolder: /opt/cbvr cleanTargetFolder: false overwrite: true failOnEmptySource: false flattenFolders: false
关键配置说明
- 解压任务
ExtractFiles@1会自动识别zip格式,无需额外安装解压工具,支持Windows、Linux、macOS类型的build agent - 如果你下载的构建产物里有多个zip包,可将
archiveFilePatterns参数修改为具体的zip文件名,避免误解压其他文件 - 传输任务的
contents参数调整为**/*代表传输解压后的所有文件和子目录,你可以根据实际需求调整过滤规则,只传需要的文件
内容的提问来源于stack exchange,提问作者Rani
相关产品推荐
相关产品推荐

