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

时间:2020-10-05 10:36:07

标签: azure-devops azure-pipelines azure-artifacts

场景:

  • 为前端应用程序配置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?

2 个答案:

答案 0 :(得分:1)

您可以将runtime parameters与第一个选项一起使用

git branch

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

答案 1 :(得分:1)

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软件包。