0
votes

From previous stackoverflow questions or azure docs, seems there is no easy way to migrate a classic ui release pipeline to a yaml release pipeline.

The problem for me is that our release pipeline has quite a lot stages and lots of variables defined. To manually recreate these variables in the new yaml pipelines are very time consuming and also error-prone.

Also we have task groups which can not be easily converted to yaml (have to go to individual step to convert to yaml).

Is there any tool could help us convert?

3
In terms of Task group you can can consider templates as replacement for them docs.microsoft.com/en-us/azure/devops/pipelines/process/…Krzysztof Madej
@daxu Not get your response for several days, would you please share your latest information about this issue? If you have any concern, feel free to share it here.Hugh Lin
hi, we are having a debate on if you should build with yaml and release with UI.daxu

3 Answers

1
votes

There is no tool which can do it for you. It is because they are not 1:1. So as rewriting them you will be forced to make some decision. For instances, you have gates in Release classic and in YAML you can benefit form environment. As you can see even MS recommends to do it manually just looking into YAML of the single step.

In terms of task group you can try replace them with templates. They will do the job here.

Also here is given a way like MS shown above.

0
votes

I am afraid that there is currently no out of the box feature to migrate classic azure devop release pipeline to yaml.

So far, in the classic release pipeline, we can only export each task to yaml by clicking the "View YAML" option of the selected task. This is really inconvenient. In contrast, we only need to click on the "Agent Job" and then "View YAML" in the build pipeline, we can get the YAML of all the tasks of that pipeline without needing to go one by one.

In our official feature suggestion for Azure Devops forum, there has been a such suggestion exist in it: Export entire Azure DevOps build/release pipelines as YAML. You can comment and vote it there. Thank you for helping us build a better Azure DevOps.

0
votes

There is a command line tool that will do [a lot but not all] of the leg-work migrating Azure DevOps Classic Pipelines to YAML, https://github.com/f2calv/yamlizr (disclosure: I wrote it)