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

file

file

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

Reference

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