对于阶段的流水线其实是特别有用的,我们可以将构建、测试、或者说部署分为多个阶段进行处理。将您的应用程序部署到多个环境中,并从一个环境逐步过渡到另一个环境。例如,可以在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