ADO 管道“在此上下文中不允许映射值。”

问题描述 投票:0回答:1

在 ADO 中运行管道时出现以下错误:

“azure-pipeline-flex.yml:(行:23,列:22,Idx:490)-(行:23,列:22,Idx:490):在此上下文中不允许映射值。”

我猜定义中定义了步骤的“作业”和使用模板的“作业”之间的层次结构混乱了。

管道定义为:

trigger:
  - develop

resources:
  repositories:
    - repository: templates
      type: git
      name: 'removed'
      path: removed
      ref: removed

variables:
  artifactName: 'name'

jobs:
  - job: copy_files
    displayName: 'Copy Files'
    pool: 'removed'
    steps:
      - task: CopyFiles@2
          displayName: 'Copy files to artifact staging'
          inputs:
            SourceFolder: '$(Build.SourcesDirectory)'
            contents: '**'
            TargetFolder: '$(Build.ArtifactStagingDirectory)'
      - task: PublishBuildArtifacts@1
        inputs:
          PathtoPublish: '$(Build.ArtifactStagingDirectory)'
          ArtifactName: 'artifact-name'
          publishLocation: '$(Build.ArtifactStagingDirectory)'

  - job: push_container
    displayName: 'Create and push Docker container'
    pool: 'removed'
    variables:
      - group: removed
    steps:
      - template: template_name
        parameters:
          artifactName: $(artifactName)

我有什么想法可以同时运行这两项工作吗?

azure-devops azure-pipelines azure-pipelines-yaml azure-pipelines-tasks
1个回答
0
投票

这似乎是一个缩进问题。

代替:

    steps:
      - task: CopyFiles@2
          displayName: 'Copy files to artifact staging'  # ---------------> unindented
          inputs:                                        # ---------------> unindented
            SourceFolder: '$(Build.SourcesDirectory)'
            contents: '**'
            TargetFolder: '$(Build.ArtifactStagingDirectory)'

尝试:

    steps:
      - task: CopyFiles@2
        displayName: 'Copy files to artifact staging'
        inputs:
          SourceFolder: '$(Build.SourcesDirectory)'
          contents: '**'
          TargetFolder: '$(Build.ArtifactStagingDirectory)'
© www.soinside.com 2019 - 2024. All rights reserved.