Azure Devops Build Pipeline - Неожиданные этапы стоимости - PullRequest
0 голосов
/ 24 марта 2020

Я выполняю рефакторинг конвейера, чтобы использовать сцену в качестве шаблона, чтобы у меня не было дублирующегося кода в моем сборочном тесте sh test-publi и выпускном конвейере сборки. Но я получаю ошибку, которую я прокомментировал в следующих .yml строках.

resources:
- repo: self
  clean: true

trigger:
  branches:
    include:
    - development

stages: # error on this line: unexpected value 'stages'
 - template: build-job.yml
 - stage: Publish
   jobs:
   - job: PublishClickOnce
     steps:
     - task: PublishSymbols@2
       displayName: 'Publish symbols path'
       inputs:
         SearchPattern: '**\bin\**\*.pdb'
         PublishSymbols: false
       continueOnError: true

Пример, предоставленный Microsoft :

# File: azure-pipelines.yml
trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

stages:
- stage: Install
  jobs: 
    - job: npminstall
      steps:
      - task: Npm@1
        inputs:
          command: 'install'
- template: templates/stages1.yml
- template: templates/stages2.yml

Я проверил документацию, но не вижу в ней ничего плохого , Можете ли вы указать на мою ошибку и что я должен изменить?

Ответы [ 2 ]

1 голос
/ 25 марта 2020

Azure Devops Build Pipeline - Неожиданные этапы значения

Ошибка может быть из шаблона. Поскольку шаблон непосредственно вложен в этапы, вы должны убедиться, что шаблон также находится под этапом .

Как и в следующем YAML:

resources:
- repo: self
  clean: true

trigger:
  branches:
    include:
    - master

pool:
  vmImage: 'windows-latest'

stages:
 - template: build-job.yml
 - stage: Publish
   jobs:
   - job: PublishClickOnce
     steps:
       - task: PowerShell@2
         inputs:
          targetType : inline
          script: |
            Write-Host "Hello world!"

Тогда build-job.yml:

stages:
- stage: test
  jobs:
  - job: test
    steps:
    - script: echo testdemo
    displayName: 'templateTest'

Он отлично работает на моей стороне, вы можете проверить, работает ли он для вас.

Кроме того, если вы установите шаблон, непосредственно вложенный На шаге, шаблон должен начинаться с шагов.

Если он вам не подходит, поделитесь подробным журналом ошибок сборки в своем вопросе.

Надеюсь, это поможет.

0 голосов
/ 24 марта 2020
Шаблон

не находится под этапами, при желании шаблон можно разместить под этапами.

stages:
- stage: string  # name of the stage, A-Z, a-z, 0-9, and underscore
  displayName: string  # friendly name to display in the UI
  dependsOn: string | [ string ]
  condition: string
  pool: string | pool
  variables: { string: string } | [ variable | variableReference ] 
  jobs: [ job | templateReference]

Подробнее:

Этапы: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml

Шаблоны: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops

...