【Azure DevOps系列】Azure DevOps多阶段构建

  • A+
所属分类:.NET技术
摘要

对于阶段的流水线其实是特别有用的,我们可以将构建、测试、或者说部署分为多个阶段进行处理。将您的应用程序部署到多个环境中,并从一个环境逐步过渡到另一个环境。例如,可以在CI中运行单元测试后自动部署到Dev环境,然后部署到运行集成测试的Test环境,然后手动部署到Production。

对于阶段的流水线其实是特别有用的,我们可以将构建、测试、或者说部署分为多个阶段进行处理。将您的应用程序部署到多个环境中,并从一个环境逐步过渡到另一个环境。例如,可以在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,如何在不影响原代码的情况下去完成高效持续集成与部署的工作

【Azure DevOps系列】Azure DevOps多阶段构建

【Azure DevOps系列】Azure DevOps多阶段构建

当然如果有兴趣大家可以看一下easyabp的这个构建 href

Reference

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases