问题
I've started doing some testing using multi-stage pipelines to be able to have the pipeline as code, but I'm getting a bit confused about the usage of the pipeline considering we have Release pipeline as well, and multi-stage pipeline currently can do the release pipeline's job with gates and multiple environments, just in a code based pipeline which I would prefer.
My question is when should each of them be used?
回答1:
When should each of them be used?
Here, very agree iberodev and Daniel's appointment, YAML is the future. Based on most developers and users, YAML is the focus of our development work in recently sprints.
But now, the choice of your use need based on the feature support of them.
- Using YAML with multi-stage:
Most of time, we recommend you use YAML with multi-stage. We have provided support for most of the UI features in YAML, including pipeline resource, server job and etc.
Also, YAML still has some features that classic ui pipelines doesn't, such as Environments is exclusive to YAML, Strategies jobs, job outputs, templating and etc. These are all YAML only supported.
In addition, this is our latest YAML feature announcement document and we are still keeping this doc update once we put the new feature into product. If the features you need in actual use are described in this document. I strongly suggest you use Multi-stage pipeline.
- Using Release pipeline of Classic UI:
BUT, as I mentioned previously, we are developing but haven't support all of the features in YAML. For example, there has one most key feature in classic UI release pipeline, Gate, it is still in progress of developing: Automated checks (gates) between stages.
When this or other feature which haven't added in YAML is necessary in your team, at this time, you'd better use Release pipeline with classic UI for your product security.
来源:https://stackoverflow.com/questions/59141250/azure-devops-multistage-pipeline-or-release-when-to-use-what