What is the difference between Pipeline and Release Pipeline in azure devops?

What is the difference between Pipeline and Release Pipeline in azure devops?

问题

An yaml file is generated while you choose this option shown below: 

In this yaml file, you can define an entire deployment cycle starting from restore -> build -> run tests -> publish and -> deploy to azure app service web app.

then, why there is the releases option? If i can define an entire lifecycle via the Pipelines -> Pipelines option, what is the purpose of the Pipelines -> Releases option?

 

回答1

Pipelines is a name in latest DevOps user interface for Builds. In old UI it's like this: 

It can be said that Pipeline(or Build, or Build Pipeline) represents CI (continuous integration) in Azure DevOps. Release represents CD(continuous delivery) in Azure DevOps. Pipeline usually takes code, builds it, tests and creates an artifact. Release takes the artifact and releases/deploys it.

The usage depends on your project.

If you have a small project and there is no need in Release features (e.g. pre-deployment conditions and approvals), then you can have Pipeline like you mentioned: restore -> build -> tests -> deploy and no need in Release.

If your project is big with a lot of developers contribution, it's good to have Pipeline which builds, runs unit tests, does other automation and results with artifact every time developer pushes to the common repo. So you can be sure all is settle and integration tests passed. Pipeline also can end up with release/deploy task to development environment/servers for internal work, usage, testing.

In large project you don't need to deploy every push to common repo. So you can settle a Release which will be responsible for deployment to production environment. It has features designed for this, like pre-approval, so everyone is agree it's the right build (or artifact) for production.

 

回答2

As noted in Microsoft docs, the "Releases" section is their "Classic editor" solution: Link

旧版本的视频 https://docs.microsoft.com/video/media/a751fe82-4145-4aca-8e42-ddfb73024232/azurepipelines_high.mp4

"Pipelines" section offer to create pipelines in two ways:

  1. YAML code
  2. Classic UI editor

What Classic basically means by them is the original way Azure DevOps pipelines are created. You build a pipeline by using a GUI editor in an interactive way. Pipeline created from YAML, with the help of the assistant is the newer way.

What "Pipelines" section mainly have that "Releases" doesn't is that by writing YAML code it enables you to configure your CI/CD strategy as code, where, the Pipeline definition lives alongside and together with your code.

Their newest learning resources also indicate to use YAML and create build and deployment stages in the same pipeline Deploy applications with Azure DevOps

I recommend:

  • If you prefer to use Classic UI editor use "Pipelines" section for builds and "Release" section for deployments;
  • If you prefer to use YAML, just use "Pipelines" section for builds and deployments and create a multistage pipeline.

Pipeline with multiple stages

Edit: Update May 11, 2020, Pipelines YAML CD features now generally available

 

 

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-06-08 二元一次方程求解
2021-06-08 Retargeting All Projects in a Solution to .NET 4.5.2
2021-06-08 IIS Tunning Recommendations against Slow http Attacks
2018-06-08 GeHost powershell
2017-06-08 The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.
点击右上角即可分享
微信分享提示