CD流水线中Download Build Artifact任务如何仅下载指定文件而非整个drop文件夹
配置Download Build Artifact任务取消父目录层级的方案
方案1:直接通过任务内置配置实现(优先推荐)
绝大多数版本的Download Build Artifact任务都内置了扁平化目录的能力,仅需调整三个配置项即可:
- 配置构件名称为你要拉取的已发布构件名(即示例中的drop)
- 配置文件匹配模式为
Source/abc.zip,若需要匹配Source目录下全部指定格式文件可调整为Source/*.zip等通配符格式 - 勾选「扁平化文件夹」选项(部分英文版任务显示为
Flatten folders),该配置会自动忽略所有匹配到的文件的原始父目录层级,直接输出到指定的目标目录下
方案2:后置脚本补充处理
如果你使用的任务版本没有内置扁平化选项,可在下载任务完成后新增一步脚本执行移动操作:
Windows 环境(PowerShell 脚本)
# 替换为你配置的下载目标目录路径 $targetPath = "$(Pipeline.Workspace)\target" Move-Item -Path "$targetPath\drop\Source\abc.zip" -Destination "$targetPath\abc.zip" # 可选:清理冗余的父目录 Remove-Item -Path "$targetPath\drop" -Recurse -Force
Linux/macOS 环境(Bash 脚本)
# 替换为你配置的下载目标目录路径 targetPath="$(Pipeline.Workspace)/target" mv $targetPath/drop/Source/abc.zip $targetPath/abc.zip # 可选:清理冗余的父目录 rm -rf $targetPath/drop
以上两种方案执行后,目标目录下将直接生成abc.zip文件,不会保留drop、Source两级父目录。
内容的提问来源于stack exchange,提问作者Milan
相关产品推荐
相关产品推荐

