首页 > 解决方案 > Azure DevOps yaml 管道:配置 Azure Artifacts“包”资源

问题描述

设想:

方法:

      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 定义中指定硬编码版本或通配符“*”(最新版本)。理想情况下,可以通过“运行管道”对话框在运行时指定版本。但是,这需要将包配置为资源(Alt. 2)

根据文档,有许多可能的资源:管道、构建、存储库、容器、包和 webhook。在这种情况下,“包”资源似乎很合适。

resources:
  packages:
    - package: contoso
      type: npm
      connection: pat-contoso
      name: yourname/contoso 
      version: 7.130.88 
      trigger: true

但是,缺少文档,仅提供了 GitHub 包的一个示例。

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

谁可以共享一个有效的“包”配置,专门用于 Azure Artifacts?

标签: azure-devopsazure-pipelinesazure-artifacts

解决方案


您可以将运行时参数与您的第一个选项一起使用

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)'

而且恐怕您将无法将其与资源结合使用,因为它不支持任何方式的模板/变量/参数。


推荐阅读