Azure DevOps YAML管道:配置Azure Artifacts“package”资��

3

场景:

  • 为前端应用程序配置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定义中指定硬编码版本或通配符“*”(最新版本)。 理想情况下,版本应该能够通过“运行管道”对话框在运行时指定。但是,这需要将包配置为资源(Alt. 2)
Alt.2:在yaml定义顶部指定“package”资源。
根据docs,有许多可能的资源:管道、构建、存储库、容器、包和Webhook。在这种情况下,“packages”资源似乎是合适的。
resources:
  packages:
    - package: contoso
      type: npm
      connection: pat-contoso
      name: yourname/contoso 
      version: 7.130.88 
      trigger: true

然而,文档不足,只提供了一个GitHub packages的示例。
我找不到任何关于“Azure Artifacts”包的示例。
谁能分享一个针对Azure Artifacts的工作“package”配置示例?
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所建议的那样,运行时参数应该适用于版本可以通过运行管道对话框在运行时指定。如果您想下载软件包归档文件,则可能需要添加extract:false

我找不到任何示例,特别是针对“Azure Artifacts”软件包的。

目前,Azure Artifact Npm软件包不支持此功能,此文档已经说明资源:软件包选项仅适用于Nuget / Npm github软件包。

你知道Azure Artifacts作为YAML流水线的资源集成是否在路线图上吗?这似乎是一个自然而然的事情(希望如此),因为经典发布流水线已经存在类似的集成(您可以将Azure Artifacts Feed定义为输入工件,并获得一个漂亮的界面来选择特定的工件版本)。是的,使用运行时参数可以解决问题,但您无法获得一个漂亮的界面来选择最新发布的工件(您只能将其设置为文本字段或静态下拉列表)。 - undefined
1
选择管道工件(使用pipelines资源时)时,您将获得一个非常好的用户界面: https://learn.microsoft.com/zh-cn/azure/devops/pipelines/process/resources?view=azure-devops&tabs=schema#manual-version-picker-for-resources-in-the-create-run-dialogue如果能有类似的方式来选择来自Azure Artifacts feed的工件,那就太棒了 :) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接