Azure DevOps yaml 管道:配置 Azure Artifacts“包”资源

问题描述 投票:0回答:2

场景:

  • 为前端应用程序配置 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,有许多可能的资源:管道、构建、存储库、容器、包和 Webhook。 在这种情况下,“packages”资源似乎很合适。

resources: packages: - package: contoso type: npm connection: pat-contoso name: yourname/contoso version: 7.130.88 trigger: true
但是,文档缺乏,仅提供了 GitHub 包的一个示例。

我找不到任何示例,特别是“Azure Artifacts”包。

谁可以分享专门针对 Azure Artifacts 的工作“包”配置?

azure-devops azure-pipelines azure-artifacts
2个回答
1
投票
您可以将

运行时参数与第一个选项一起使用

parameters: - name: packageVersion displayName: Package version type: string default: '1.0.1' trigger: none jobs: - job: Deploy displayName: Deploy steps: - task: DownloadPackage@1 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: '${{ parameters.packageVersion }}' downloadPath: '$(System.ArtifactsDirectory)'
恐怕您无法将其与资源结合起来,因为它不支持任何方式的模板/变量/参数。


1
投票
正如

Krzysztof 所建议的,运行时参数 应该适用于 the version could be specified at runtime via the Run Pipeline -dialog

。如果您想下载软件包存档,您可能需要添加 
extract: false

我找不到任何例子,特别是“Azure Artifacts” 包。

目前 Azure Artifact Npm 包不支持,

本文档已声明Resources: packages

选项仅适用于 Nuget/Npm github 包。

© www.soinside.com 2019 - 2024. All rights reserved.