Azure DevOps发布阶段引用仓库内PowerShell脚本的方法问询(Dynamics 365部署场景)
解决Azure DevOps发布阶段引用代码仓库PowerShell脚本的问题
其实核心原因很简单:发布管道默认只会展示已链接的工件,你的代码仓库还没被添加成发布管道的工件源,所以选文件时看不到它。按下面的步骤操作就能解决:
1. 把代码仓库添加为发布管道的工件源
- 打开你的Azure DevOps发布管道,切换到工件标签页
- 点击添加按钮,根据脚本所在仓库类型选择(比如
Azure Repos Git或GitHub) - 选择对应的项目、目标仓库和分支,然后设置一个好记的源别名(比如
AccessTeamScripts),保存配置
2. 在发布阶段的PowerShell任务里引用脚本
添加完工件源后,回到发布阶段的PowerShell任务配置:
- 点击脚本路径的三点按钮,现在就能看到你刚添加的代码仓库了,直接选中里面的PowerShell脚本即可
- 也可以手动输入路径,格式是
$(System.ArtifactsDirectory)/<源别名>/<脚本相对路径>,比如源别名是AccessTeamScripts,脚本在仓库根目录叫Migrate-AccessTeamTemplate.ps1,路径就写$(System.ArtifactsDirectory)/AccessTeamScripts/Migrate-AccessTeamTemplate.ps1
可选:用CI流水线工件传递脚本(适合联动场景)
如果你的CI流水线已经把脚本打包成了输出工件,也可以把CI流水线的工件链接到发布管道。这种方式适合需要和其他部署包一起发布的场景,不过如果只是单独迁移脚本,直接链接代码仓库会更直接。
小提示
- 要确保发布管道的服务连接有访问目标代码仓库的权限
- 如果脚本依赖其他辅助文件,记得把它们也放在仓库里,或者打包到工件中
- 可以在任务里设置工作目录,方便脚本找到依赖文件
内容的提问来源于stack exchange,提问作者Nielf




