【Azure DevOps系列】Azure DevOps多阶段构建
对于阶段的流水线其实是特别有用的,我们可以将构建、测试、或者说部署分为多个阶段进行处理。将您的应用程序部署到多个环境中,并从一个环境逐步过渡到另一个环境。例如,可以在CI中运行单元测试后自动部署到Dev环境,然后部署到运行集成测试的Test环境,然后手动部署到Production。
管道任务
这是一个最基础的管道任务,它在Microsoft托管代理上运行,同时他它采用ubuntu-16.04
虚拟机镜像,执行后将会输出Hello world
pool:
vmImage: 'ubuntu-16.04'
steps:
- bash: echo "Hello world"
当然我们可以对此进行修改成如下方式:
jobs:
- job: myJob
timeoutInMinutes: 10
pool:
vmImage: 'ubuntu-16.04'
steps:
- bash: echo "Hello world"
当我们有多个工作的情况下,我们可以创建多个job
来完成该构建过程,如下图所示:
jobs:
- job: A
steps:
- bash: echo "A"
- job: B
steps:
- bash: echo "B"
当然上面只是划分job
那么我们看一下如何采用多个阶段呢?来看下面代码片段,如下所示:
stages:
- stage: A
jobs:
- job: A1
- job: A2
- stage: B
jobs:
- job: B1
- job: B2
下图是Azure DevOps在EasyAbp中采用多阶段构建的执行过程图,在后续的章节中我将详细的去介绍作为一个开源项目easyabp,如何在不影响原代码的情况下去完成高效持续集成与部署的工作
当然如果有兴趣大家可以看一下easyabp的这个构建 href
Reference
https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构