Azure DevOps、YAML 发布管道?
Azure DevOps, YAML release pipelines?
我正在按照此过程为 .NET Core Web API 项目创建 YAML 构建管道:
https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts
在发布时,我注意到(最近重命名的)Azure DevOps 似乎不支持 YAML 来定义发布管道。但是,我可以看到已经定义了部署任务,例如:
我们是否期望升级发布管道功能以支持 YAML,如果是,何时?
在撰写此回复时,功能时间表反映了 yaml 版本将于 2018 年第三季度发布。
https://docs.microsoft.com/en-us/azure/devops/release-notes/
更新:这已经被撞了几次。建议查看下面的评论,因为人们一直在提供他们发现的更新。
更新
根据评论,这现在是可能的:
https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/。以下是从文章中复制粘贴并使用各个阶段进行演示:
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'Ubuntu-16.04'
continueOnError: true
steps:
- script: echo my first build job
- stage: Deploy
jobs:
# track deployments on the environment
- deployment: DeployWeb
pool:
vmImage: 'Ubuntu-16.04'
# creates an environment if it doesn’t exist
environment: 'smarthotel-dev'
strategy:
# default deployment strategy
runOnce:
deploy:
steps:
- script: echo my first deployment
产品团队正在努力。您可以通过 Release notes 跟踪更新。
此刻我正在做这样的事情,但我使用的是当前的 REST API。我正在做的事情与我在此处记录的内容类似 ()。基本上,我将模板化的 JSON Release Pipeline 文件保存到源代码存储库中,其中包含可变占位符和嵌入的版本号。然后有一个调用 Azure DevOps 的 PowerShell 脚本(这是一个很长的词,我更喜欢输入 VSTS,也许我会开始输入 AD)
- 用于检查发布管道是否存在的 REST API - 有效
- 如果不存在则创建 - 有效
- 比较嵌入式版本并在必要时更新(我被困在这里,但我会解决它,返回错误,即使我已经更改了正在更新的管道也没有改变。)
我希望它在构建管道期间执行,这样我就不必再手动修改大量类似的发布管道。我也希望它是一个 YAML 文件,但这就是我今天所拥有的。希望对您有所帮助。
管道由一个或多个作业组成,可能包括资源和变量。作业由一个或多个步骤加上一些特定于作业的数据组成。步骤可以是任务、脚本或对外部模板的引用。这反映在 YAML 文件的结构中。请访问here了解详情
YAML build 管道创建体验正在预览中。 (今天是2018-12-04)
release 管道的 YAML 似乎还有一段路要走:2019 Q2
可以像这样从您的个人资料启用预览功能:
编辑: 正如 nullforce 在评论中指出的那样,这只会为构建管道启用 YAML 体验,而不是发布管道。
更新(2019-05-16):继微软的"Build 2019"之后,构建和部署的完整 YAML 体验现在应该可以在同一个 YAML 管道中实现文件。
我正在按照此过程为 .NET Core Web API 项目创建 YAML 构建管道:
https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts
在发布时,我注意到(最近重命名的)Azure DevOps 似乎不支持 YAML 来定义发布管道。但是,我可以看到已经定义了部署任务,例如:
我们是否期望升级发布管道功能以支持 YAML,如果是,何时?
在撰写此回复时,功能时间表反映了 yaml 版本将于 2018 年第三季度发布。
https://docs.microsoft.com/en-us/azure/devops/release-notes/
更新:这已经被撞了几次。建议查看下面的评论,因为人们一直在提供他们发现的更新。
更新
根据评论,这现在是可能的: https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/。以下是从文章中复制粘贴并使用各个阶段进行演示:
stages:
- stage: Build
jobs:
- job: Build
pool:
vmImage: 'Ubuntu-16.04'
continueOnError: true
steps:
- script: echo my first build job
- stage: Deploy
jobs:
# track deployments on the environment
- deployment: DeployWeb
pool:
vmImage: 'Ubuntu-16.04'
# creates an environment if it doesn’t exist
environment: 'smarthotel-dev'
strategy:
# default deployment strategy
runOnce:
deploy:
steps:
- script: echo my first deployment
产品团队正在努力。您可以通过 Release notes 跟踪更新。
此刻我正在做这样的事情,但我使用的是当前的 REST API。我正在做的事情与我在此处记录的内容类似 (
- 用于检查发布管道是否存在的 REST API - 有效
- 如果不存在则创建 - 有效
- 比较嵌入式版本并在必要时更新(我被困在这里,但我会解决它,返回错误,即使我已经更改了正在更新的管道也没有改变。)
我希望它在构建管道期间执行,这样我就不必再手动修改大量类似的发布管道。我也希望它是一个 YAML 文件,但这就是我今天所拥有的。希望对您有所帮助。
管道由一个或多个作业组成,可能包括资源和变量。作业由一个或多个步骤加上一些特定于作业的数据组成。步骤可以是任务、脚本或对外部模板的引用。这反映在 YAML 文件的结构中。请访问here了解详情
YAML build 管道创建体验正在预览中。 (今天是2018-12-04)
release 管道的 YAML 似乎还有一段路要走:2019 Q2
可以像这样从您的个人资料启用预览功能:
编辑: 正如 nullforce 在评论中指出的那样,这只会为构建管道启用 YAML 体验,而不是发布管道。
更新(2019-05-16):继微软的"Build 2019"之后,构建和部署的完整 YAML 体验现在应该可以在同一个 YAML 管道中实现文件。