如何本地构建azure-pipelines-tasks任务并部署到本地Azure DevOps Server
问题处理步骤
第一步:解决依赖下载失败问题
你的报错核心原因是构建PublishSymbolsV2任务时,无法远程下载依赖的symstore工具包,可通过本地缓存依赖解决:
- 手动下载报错提示的symbol.zip包,存到本地临时目录
- 在azure-pipelines-tasks仓库根目录创建
_downloads文件夹(如果该目录不存在) - 将下载好的symbol.zip放到
_downloads目录下,重命名为symstore-2-symbol.zip,匹配构建脚本的缓存命名规则
构建脚本检测到本地已有缓存的依赖包,就不会再发起远程下载请求。
第二步:重新执行构建命令
运行之前的构建指令:
node make.js build --task PublishSymbolsV2
构建成功后,生成的可部署任务包会存放在_build/Tasks/PublishSymbolsV2目录下。
第三步:打包上传到Azure DevOps Server
- 先安装任务上传所需的tfx-cli工具:
npm install -g tfx-cli
- 登录你的本地Azure DevOps Server实例:
tfx login --service-url http://<你的Azure DevOps Server地址>/tfs/<集合名称> --token <你的PAT令牌>
注意使用的PAT需要具备「扩展管理」权限。
3. 进入构建完成的任务目录,执行上传:
cd _build/Tasks/PublishSymbolsV2 tfx build tasks upload --task-path ./
上传完成后刷新Azure DevOps Server页面即可看到更新后的PublishSymbolsV2任务,自定义上传的任务版本号高于官方内置版本,流水线会自动优先调用高版本任务。
可选回滚操作
如果后续要恢复使用官方内置任务,直接执行删除指令即可:
tfx build tasks delete --task-id 2793c542-6593-498c-a4a6-84533380313c
上述ID为PublishSymbolsV2任务的固定ID,删除自定义版本后流水线会自动回退使用官方内置版本。
内容的提问来源于stack exchange,提问作者mark
相关产品推荐
相关产品推荐

