使用Azure DevOps,我如何将发布管道迁移到代码中,类似于构建管道yml?

使用Azure DevOps,我如何将发布管道迁移到代码中,类似于构建管道yml?,azure,azure-devops,Azure,Azure Devops,如果我没记错的话,Azure Devops设置为添加一个功能,允许将发布管道放置到yaml中,类似于构建管道。这个功能可用吗 我希望能得到一些关于将传统的经典发布管道迁移到新格式的指导 更新:看起来我只落后了4个月。发布于2019年5月6日 通过我们的新更新,开发团队现在可以利用相同的YAML文档构建多阶段管道,作为持续集成和持续交付的代码。这是我们客户最大的要求之一 这里有一些像我这样的人的有用链接:手动创建许多经典的发布管道,对新格式感兴趣 以代码形式创建新的多级管道。 我发现Micro

如果我没记错的话,Azure Devops设置为添加一个功能,允许将发布管道放置到yaml中,类似于构建管道。这个功能可用吗

我希望能得到一些关于将传统的经典发布管道迁移到新格式的指导

更新:看起来我只落后了4个月。发布于2019年5月6日

通过我们的新更新,开发团队现在可以利用相同的YAML文档构建多阶段管道,作为持续集成和持续交付的代码。这是我们客户最大的要求之一

这里有一些像我这样的人的有用链接:手动创建许多经典的发布管道,对新格式感兴趣


以代码形式创建新的多级管道。


我发现Microsoft提供了一些内置帮助,可以将发布管道从基于GUI的经典发布管道迁移到基于YAML的管道

如果编辑基于GUI的经典发布管道并深入到任务,右上角会有一个链接,上面写着查看YAML

单击链接将生成与任务关联的YAML。不幸的是,它不包括字段值。相反,它使用变量,不指定这些变量的值:

steps:
- task: IISWebAppManagementOnMachineGroup@0
  displayName: 'IIS Web App Manage'
  inputs:
    IISDeploymentType: '$(Parameters.IISDeploymentType)'
    ActionIISWebsite: '$(Parameters.ActionIISWebsite)'
    WebsiteName: '$(Parameters.WebsiteName)'
    WebsitePhysicalPath: '%SystemDrive%\inetpub\wwwroot\AspNetDemo'
    AddBinding: '$(Parameters.AddBinding)'
    Bindings: '$(Parameters.Bindings)'
    ParentWebsiteNameForVD: '$(Parameters.WebsiteName)'
    VirtualPathForVD: '$(Parameters.VirtualPathForApplication)'
    ParentWebsiteNameForApplication: '$(Parameters.WebsiteName)'
    VirtualPathForApplication: '$(Parameters.VirtualPathForApplication)'
    AppPoolName: '$(Parameters.AppPoolName)'
幸运的是,GUI中的任务具有针对大多数字段的链接,并带有特定于字段的帮助。该帮助说明哪些变量映射到字段值:

因此,您可以遍历任务中的每个字段,确定哪个变量对应于每个字段,以确定要添加到YAML代码段中的值

这有点劳力密集,但比从头开始想办法要快


不幸的是,似乎没有任何方法可以在作业或阶段级别查看YAML,只能在任务级别查看。因此,您必须为每个任务重复该过程。您还必须自己编制定义阶段和作业的YAML。

您看过文档了吗?它涵盖了这一点。我现在正在看文档。这是今年的一个新功能。首先,感谢您发布这个@joey。第二,是的,对于一个仍在快速发展的话题,很难提出问题。见鬼,azure devops可以放弃yaml方法,转到其他人那里…他们知道如何在此处共享您的解决方案,您可以接受它作为答案,这样它可以帮助其他遇到相同问题的社区成员,我们可以存档此线程,谢谢。Microsoft文档对此不清楚。我在某个地方读到,您可以在代理级别查看YAML,但我找不到该选项。微软兔子洞。参考文件: