Свойство
steps
должно быть помещено ниже уровня stage
. Это: stage=>job=>steps
Таким образом, вы не можете разместить steps
там, когда определяете многоступенчатый конвейер yaml.
1. steps
может быть размещается непосредственно на первом уровне для простого конвейера yaml (без стадий):
trigger:
- master
pool:
vmImage: 'windows-latest'
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- script: |
echo Add other tasks to build, test, and deploy your project.
displayName: 'Run a multi-line script'
2. Он должен быть помещен на уровень заданий в многоступенчатом конвейере yaml:
stages:
- stage: build
displayName: Build
jobs:
- job: Build
pool:
name: xxx
steps:
- task: CmdLine@2
inputs:
script: |
echo Hello world
- stage: deploy
displayName: Release
jobs:
- job: Release
pool:
name: xxx
steps:
- task: CmdLine@2
inputs:
script: |
echo Hello world
Согласно вашему элементу stages:
, ваш конвейер будет распознан как многоступенчатый конвейер, который можно использовать для сборки и развертывания. Таким образом, вы не можете и не должны помещать steps
непосредственно под stages:
.
Решение:
Чтобы разрешить Unexpected value 'Steps'
, вы должны либо удалить steps
или добавьте его в один уровень этапа:
stages:
- stage: First
displayName: FirstStage
jobs:
- job: FirstJob
pool:
name: xxx
steps:
- bash: 'curl -o aa.mp4 https://gpm.mmm.com/endpoints/Application/content/xyz/bb.mp4'
workingDirectory: '$(System.DefaultWorkingDirectory)/_hh_app/drop/app/dist/assets/images'
displayName: 'Download Assets'
# template to build and deploy
- template: azure-templates/stages/angular-express-docker.yml@templates
parameters:
dockerRepoName: $(dockerRepoName)
# deploy to rancher
- template: azure-templates/stages/deploy-k8-npm.yml@templates
parameters:
helmReleaseName: $(helmReleaseName)