Вы можете определить порядок выполнения сборок (CI) и выпусков (CD).
Чтобы определить порядок сборки
Если вы хотите определить выполнение сборки CIСамый простой способ сделать это - использовать YAML и использовать модель с несколькими заданиями.Затем упорядочите каждую работу в зависимости от другой работы, которая должна быть выполнена первой.
Например:
jobs:
- job: JOB1
pool:
vmImage: 'vs2017-win2016'
steps:
- script: |
echo "hello from vmImage vs2017-win2016"
echo "compile webnoauth.csproj using VS2017"
- task: MSBuild@1
displayName: Build WebFormsNoAuth.csproj
inputs:
solution: $(Build.SourcesDirectory)\aspnetfx\ASPNET.WebForms.v4.7.2\ASPNET.WebForms.v4.7.2.sln
msbuildLocationMethod: version
msbuildVersion: '15.0'
configuration: "Release"
msbuildArguments: /nologo /p:DeployOnBuild=true /p:PublishProfile=FolderProfile2
clean: 'false'
maximumCpuCount: 'false'
- script: |
echo "copy result to staging"
xcopy $(Build.SourcesDirectory)\aspnetfx\ASPNET.WebForms.v4.7.2\WebFormsNoAuth\bin\Release\Publish $(Build.ArtifactStagingDirectory) /E
- task: PublishBuildArtifacts@1
- job: JOB2
dependsOn: JOB1
pool:
vmImage: 'win1803'
steps:
- script: |
echo "hello from vmImage win1803"
md buildresult
echo "copy buildresult into build folder"
xcopy $(Build.ArtifactStagingDirectory) buildresult /E
echo "begin build docker image"
- job: JOB3
dependsOn: JOB2
pool:
vmImage: 'win1803'
steps:
- script: |
echo "Other job to be run in JOB 3"
Для получения дополнительной информации о многозадачности YAML, она задокументирована здесь: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/multiple-phases?tabs=yaml&view=azure-devops
Чтобы определить порядок выпуска
Просто упорядочите порядок выпуска, обеспечив продолжение этапа выпуска (это называется environment в термине Azure DevOps Pipelines).Обычно визуализация начинается слева направо, которая выглядит как поток.
Например, у вас может быть порядок заказов релизов Dev, SIT, Production.
Официальная документация для организации этапа на конвейерах DevOps Azure: https://docs.microsoft.com/en-us/azure/devops/pipelines/release/define-multistage-release-process?view=azure-devops#extend-a-release-pipeline-by-adding-stages