Whats the difference between a build pipeline and a release pipeline in Azure DevOps?

喜你入骨 提交于 2021-02-06 19:57:25

问题


I have set up several multi-staged build pipelines in Azure DevOps by using .yaml files. I've read about the "Release Pipelines" available, and I'm wondering what the benefits of those are?

They seem to do the same, don't even offer .` YAML's support. So what's the main difference here? What can I do by using release pipelines, rather than usual build pipelines?


回答1:


In Azure DevOps, before there was the multi stage yaml pipelines (now known as "Pipelines", you usually used the Build Pipeline to build / create your software binaries (e. g. dotnet publish or ng build --prod) and stored these artifacts in the Azure DevOps drop location.

Then you normally had a Releasee Pipeline that gets triggered with these build artifacts (software binaries) and deploys them to one or many stages.

The reason to separate these two pipelines (build and release) is that you want to build a specific version of your software only once and then use the same binaries in each of your target environment (e. g. dev / test / production).

With the new pipeline, you usually use the first Stage to build your artifacts, and the next Stages to deploy it - similar as before but in one module.

If you have previously used the build & release pipeline, you will see the old build definition inside the new Pipeline module, and the old release definition in the old release module. However, they never brought YAML to the Release Pipelines because they know that they will replace them with the multi stage pipelines anyway.

Conclusion: If you use the new multi-stage "Pipeline" module, you shouldn't use the classic Release Pipelines anymore.




回答2:


Yaml is still developing, and some features in release pipeline cannot be completely replaced, such as:

  • Queuing policies are not yet supported in YAML pipelines.
  • Task groups are not supported in YAML pipelines. etc...

Similarly, some features in the build pipeline have not been completely replaced, such as

  • Triggering on tags is not currently supported for Bitbucket Cloud repos.
  • YAML PR triggers are only supported in GitHub and Bitbucket Cloud. etc...

So, with the development of yaml, its features will be more and more comprehensive, but now some features of release pipeline cannot be completely replaced, and release pipeline still has value.



来源:https://stackoverflow.com/questions/58813608/whats-the-difference-between-a-build-pipeline-and-a-release-pipeline-in-azure-de

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!