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

Azure Pipeline无法将.ispac部署至存储账户文件共享的问题

解决Azure Pipeline无法复制.ispac文件到Azure存储文件共享的问题

问题背景

使用Azure Pipeline时,无法将.ispac文件复制到Azure存储账户的文件共享中。目前通过Deploy SSIS任务可成功将.dtsx和.dtsConfig文件复制到文件共享,原因是bin目录下的Deployment文件夹存在SSISDeploymentManifest文件,内容如下:

<?xml version="1.0"?> <DTSDeploymentManifest GeneratedBy="" GeneratedFromProjectName="AzurePipelineDeploy" GeneratedDate="2024-01-31T09:41:37.7719773+01:00" AllowConfigurationChanges="true"> <Package>Package.dtsx</Package> <ConfigurationFile>Config.dtsConfig</ConfigurationFile> </DTSDeploymentManifest>

需同时复制bin目录下Development文件夹中的.ispac文件,但尝试的三种方法均失败:

  • 复制Deploy SSIS任务并修改源路径后,报错:PipelineDevOps\AzurePipelineDeploy\bin\Development\AzurePipelineDeploy.ispac isn't a valid file which ends with SSISDeploymentManifest
  • 将.ispac复制到Deployment文件夹,Pipeline忽略该文件,仅上传.dtsx和.dtsConfig文件
  • 使用Azure CLI任务尝试时,报错:The term 'PipelineDevOps/AzurePipelineDeploy/bin/Development' is not recognized as a name of a cmdlet, function, script file, or executable program.

解决方案

方法1:使用Azure文件复制任务(推荐)

绕过Deploy SSIS任务的限制,直接用Azure File Copy任务专门复制.ispac文件:

  1. 在Pipeline中添加AzureFileCopy任务
  2. 关键配置参数:
    • Source:填写.ispac文件的完整路径,例:$(Build.SourcesDirectory)/AzurePipelineDeploy/bin/Development/AzurePipelineDeploy.ispac
    • Azure Subscription:选择关联目标存储账户的订阅
    • Destination:选择Azure File Share
    • Storage Account:输入目标存储账户名称
    • File Share:输入目标文件共享名称
    • Destination Folder:可选,填写文件共享内的目标子路径,留空则上传至根目录

该任务专为Azure存储文件共享的文件传输设计,不受SSIS部署清单的约束。

方法2:修复Azure CLI任务的命令格式

之前的报错源于命令格式错误,正确使用az storage file upload命令上传文件,示例配置:

  1. 添加AzureCLI任务
  2. 在Script框中输入正确命令(替换占位符为实际信息):
# 使用存储账户密钥
az storage file upload --account-name <你的存储账户名> --account-key <存储账户密钥> --share-name <文件共享名> --source "$(Build.SourcesDirectory)/AzurePipelineDeploy/bin/Development/AzurePipelineDeploy.ispac" --path <目标子路径>/AzurePipelineDeploy.ispac

# 或更安全的SAS令牌方式
az storage file upload --account-name <你的存储账户名> --sas-token "<SAS令牌>" --share-name <文件共享名> --source "$(Build.SourcesDirectory)/AzurePipelineDeploy/bin/Development/AzurePipelineDeploy.ispac" --path <目标子路径>/AzurePipelineDeploy.ispac

注意:路径需用双引号包裹,避免空格或特殊字符导致解析失败。

方法3:扩展SSIS部署清单(不推荐)

若坚持使用Deploy SSIS任务,理论上可修改SSISDeploymentManifest文件添加.ispac引用,但由于.ispac属于项目部署包,并非清单支持的标准类型,大概率会被任务忽略,因此不建议采用此方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:27:26