Azure devops Azure DevOps yaml管道:配置Azure工件”;一揽子计划;资源

Azure devops Azure DevOps yaml管道:配置Azure工件”;一揽子计划;资源,azure-devops,azure-pipelines,azure-artifacts,Azure Devops,Azure Pipelines,Azure Artifacts,情景: 为前端应用程序配置Azure DevOps yaml部署管道 前端资源作为NPM包发布到Azure工件中 Azure DevOps管道将初始包升级到多个阶段 方法: 备选方案1:从Azure工件提要下载npm包的显式“下载包”任务 这类代码可以工作,但它需要在yaml定义中指定一个硬编码版本,或者指定一个通配符“*”(最新版本)。 理想情况下,可以在运行时通过“运行管道”对话框指定版本。但是,这需要将包配置为资源(Alt.2) 备选方案2:在yaml定义的顶部指定一个“包”资源

情景:

  • 为前端应用程序配置Azure DevOps yaml部署管道
  • 前端资源作为NPM包发布到Azure工件中
  • Azure DevOps管道将初始包升级到多个阶段
方法:

  • 备选方案1:从Azure工件提要下载npm包的显式“下载包”任务
这类代码可以工作,但它需要在yaml定义中指定一个硬编码版本,或者指定一个通配符“*”(最新版本)。 理想情况下,可以在运行时通过“运行管道”对话框指定版本。但是,这需要将包配置为资源(Alt.2)

  • 备选方案2:在yaml定义的顶部指定一个“包”资源
根据,可能的资源有很多:管道、构建、存储库、容器、包和Webhook。 在这种情况下,“包”资源似乎是合适的

resources:
  packages:
    - package: contoso
      type: npm
      connection: pat-contoso
      name: yourname/contoso 
      version: 7.130.88 
      trigger: true
但是,这些文档并不完整,只提供了GitHub包的一个示例

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

谁可以共享工作“包”配置,特别是Azure工件的配置?

您可以使用第一个选项

参数:
-名称:packageVersion
displayName:软件包版本
类型:字符串
默认值:“1.0.1”
触发器:无
工作:
-作业:部署
显示名称:部署
步骤:
-任务:DownloadPackage@1
displayName:“工件-下载”
投入:
packageType:“npm”
提要:“38a52be4-9352-453e-af97-5c3b448652f0/38a52be4-9352-453e-af97-5c3b448652f0”
视图:“070e33c7-f5c8-4561-8186-5c3b448652f0”
定义:“1F32CBF-1427-4b27-8476-5c3b448652f0”
版本:“${parameters.packageVersion}”
下载路径:“$(System.ArtifactsDirectory)”

我担心您无法将其与资源结合起来,因为它不支持任何形式的模板/变量/参数。

正如Krzysztof所建议的,应该适用于
版本可以在运行时通过运行管道-对话框指定。如果要下载软件包存档,可能需要添加
extract:false

我找不到任何例子,特别是“Azure工件” 包裹


目前,Azure ArtifactNPM软件包不支持它,它声明
Resources:packages
选项仅适用于Nuget/Npm github软件包。

您是否知道将Azure软件作为YAML管道的资源进行集成是否在路线图上?这似乎是很自然的事情(希望如此),因为经典发布管道已经存在类似的集成(您可以将Azure工件提要定义为输入工件,并获得用于选择特定工件版本的良好UI)。是的,使用运行时参数是可行的,但是在选择最新发布的工件(您只能将其设置为文本字段或静态下拉列表)以选择管道工件(当使用
管道
资源时)时,您不会得到一个很好的UI,您将获得一个非常好的UI:类似于从Azure工件提要中选择工件的东西将是sweeeeet:)
resources:
  packages:
    - package: contoso
      type: npm
      connection: pat-contoso
      name: yourname/contoso 
      version: 7.130.88 
      trigger: true