问题描述
场景:
- 为前端应用程序配置Azure DevOps yaml部署管道
- 前端资源作为NPM软件包发布到 Azure Artifacts
- Azure DevOps管道将初始软件包升级到多个阶段
方法:
- 替代。 1:明确的“下载程序包”任务从Azure Artifacts Feed下载npm程序包
displayName: "Artifacts - download"
inputs:
packageType: 'npm'
Feed: '38a52be4-9352-453e-af97-5c3b448652f0/38a52be4-9352-453e-af97-5c3b448652f0'
view: '070e33c7-f5c8-4561-8186-5c3b448652f0'
deFinition: '1f32cfbf-1427-4b27-8476-5c3b448652f0'
version: '1.0.1'
downloadpath: '$(System.ArtifactsDirectory)'
这种工作方式有效,但是需要在yaml定义中指定硬编码版本,或者在通配符“ *”(最新版本)中指定。 理想情况下,可以在运行时通过“运行管道”对话框指定版本。但是,这要求将程序包配置为资源(替代2)
- 替代。 2:在yaml定义的顶部指定“包”资源。
根据docs,存在许多可能的资源:管道,内部版本,存储库,容器,软件包和Webhooks。 在这种情况下,“包装”资源似乎很合适。
resources:
packages:
- package: contoso
type: npm
connection: pat-contoso
name: yourname/contoso
version: 7.130.88
trigger: true
但是,缺少文档,只为GitHub软件包提供了一个示例。
我找不到任何示例,专门针对“ Azure Artifacts”软件包。
谁可以共享有效的“程序包”配置,专门用于Azure Artifacts?
解决方法
您可以将runtime parameters与第一个选项一起使用
git branch
恐怕您将无法将其与资源结合使用,因为它无法支持任何方式的模板/变量/参数。
,如 Krzysztof 所建议,Runtime parameters应该适用于the version could be specified at runtime via the Run Pipeline -dialog
。如果要下载软件包归档文件,则可能需要添加extract: false
。
我找不到任何示例,专门针对“天蓝色的伪像” 包。
Azure Artifact Npm软件包目前不支持,this document指出Resources: packages
选项仅适用于Nuget / Npm github软件包。