Azure 管道 yaml 文件:/azure-pipelines.yml(行:125,列:6):意外值“Agent”

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

您好,我是 Azure DevOps 新手,正在处理我的 azure.yml 文件。当我尝试运行管道时,出现以下错误:

/azure-pipelines.yml(行:125,列:6):意外值“代理”。

我尝试在网上查找类似的问题,但没有成功,我 设法解决了我遇到的其他问题,但这个问题打败了我。

这是我的 yaml 文件。

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    
    parameters:
    - name: env
      displayName: Environment
      default: DEV
      values:
      - DEV
      - ZA_SIT
      - AF_SIT
      - MAH_PROD
      - SA_PROD
    - name: ser
      displayName: Server
      default: ESB
      values:
      - ESB
    - name: branch
      displayName: Checkout Branch
      default: Dev
      values:
      - Dev
      - sit_mah
      - sit_sa
      - prod_mah
      - prod_sa
    - name: packages
      displayName: Packages to Deploy:- 
          Specify "none" to deploy all packages,
          To deploy multiple packages specify them "," seperated
      default: none
    - name: connectors
      displayName: Connectors to Deploy:-
        To deploy multiple connectors specify them "," seperated
      default: none
      
    - name: connvs
      displayName: Connectors Variable Substitution
      type: boolean
      default: false
    
    - name: checkDep
      displayName: Check serviceDependencies:- 
        Specify "full" if "Packages to Deploy" is "none"
      default: ignore
      values:
      - full
      - partial
      - ignore
    
    trigger: none
    jobs:
    
    
    - job: Checkout
      variables:
       ${{ if eq(parameters.env, 'DEV') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'ZA_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'AF_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'SA_PROD') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'MAH_PROD') }}:
         Agent: onprem_webMethods
      pool:
        name: 'ESB_webMethods'
        demands: Agent.Name -equals ${{ variables.Agent }}
      steps:
      - checkout: git://EBS/OnPrem_webMethods@${{ parameters.branch }}
        submodules: 'recursive'
        clean: true
        path: workspace
        persistCredentials: true
      - bash: |
          BuildPath="$(Agent.BuildDirectory)"
          echo "This is build location $BuildPath"
          echo "##vso[task.setvariable variable=buildPath;isOutput=true;]$BuildPath"
        name: setVariable
    
                
    
    
    - job: Build
    
      dependsOn: Checkout
      condition: succeeded('Checkout')
      
      variables:
       buildPath: $[ dependencies.Checkout.outputs['setVariable.buildPath'] ]
       ${{ if eq(parameters.env, 'DEV') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'ZA_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'AF_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'SA_PROD') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'MAH_PROD') }}:
         Agent: onprem_webMethods
    
      pool: 
       name: 'ESB_webMethods' 
       demands: Agent.Name -equals ${{ variables.Agent }}
    
      steps:
      - checkout: none
      - script: "/softwareag/wm107/common/AssetBuildEnvironment/bin/build.sh -Denable.build.IS=true -Dis.acdl.config.dir=$(buildPath)/workspace/OnPrem_webMethods/IS/packages/acdl/config${{ parameters.ser }}/${{ parameters.env }}/ -Dbuild.source.dir=$(buildPath)/workspace/OnPrem_webMethods/IS/packages/IS -Dbuild.output.dir=$(OutDir)"
        name: BuildScript
    
    
    - job: CreateProject
    
      dependsOn: 
      - Checkout
      - Build
      condition: succeeded('Build')
      variables:
       buildPath: $[ dependencies.Checkout.outputs['setVariable.buildPath'] ]
      ${{ if eq(parameters.env, 'DEV') }}:
         Agent: onprem_webMethods
      ${{ if eq(parameters.env, 'ZA_SIT') }}:
         Agent: onprem_webMethods
      ${{ if eq(parameters.env, 'AF_SIT') }}:
         Agent: onprem_webMethods
      ${{ if eq(parameters.env, 'SA_PROD') }}:
         Agent: onprem_webMethods
      ${{ if eq(parameters.env, 'MAH_PROD') }}:
         Agent: onprem_webMethods
      pool: 
       name: 'ESB_webMethods'
       demands: Agent.Name -equals ${{ variables.Agent }}
      steps:
      - checkout: none
    
      - bash: |
         chmod 764 $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/buildAutomater.sh
         $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/buildAutomater.sh -p=${{ parameters.packages }} -c=${{ parameters.connectors }} -f=$(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/IS_ProjectAutomator.xml -d=${{ parameters.checkDep }}
        name: BuildProjectAutomater
      - script: "/softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/projectautomatorUnix.sh $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/IS_ProjectAutomator.xml"
        name: CreateDeployerProject
      
      - bash: |
          if [ ${{ parameters.connvs }} == False ]
            then 
            echo "No Variable Substution"
            else
             cp $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/_WMRepo_DepMap.vs /softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/replicate/inbound/WMRepo_WMRepo_DepMap.vs
             /softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/Deployer.sh --import -varsub --vsFile WMRepo_WMRepo_DepMap.vs -map WMRepo_DepMap -project WMRepo -host $(${{ parameters.env }}_deployerServer) -port $(${{ parameters.env }}_deployerPort) -user $(${{ parameters.env }}_username) -pwd $(${{ parameters.env }}_pwd)
          fi
        name: ImportConnectorsVS
    
    
    - job: Deploy
    
      dependsOn: CreateProject
      condition: succeeded('CreateProject')
      variables:
       ${{ if eq(parameters.env, 'DEV') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'ZA_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'AF_SIT') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'SA_PROD') }}:
         Agent: onprem_webMethods
       ${{ if eq(parameters.env, 'MAH_PROD') }}:
         Agent: onprem_webMethods
      pool:
        name: 'ESB_webMethods'
        demands: Agent.Name -equals ${{ variables.Agent }}
      steps:
      - checkout: none
      - script: "/softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/Deployer.sh --deploy -dc WMTokenEngine_DepCand -project WMTokenEngine -host $(${{ parameters.env }}_deployerServer) -port $(${{ parameters.env }}_deployerPort) -user $(${{ parameters.env }}_username) -pwd $(${{ parameters.env }}_pwd)"
        name: DeployComposits
azure-devops azure-pipelines
1个回答
0
投票

使用相同的 YAML 代码时,我可以重现相同的问题。

问题的原因是 if 表达式缺少第 125 行的缩进(

CreateProject
作业)。

要解决此问题,您可以使用以下 yaml 示例:

# Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    
parameters:
- name: env
  displayName: Environment
  default: DEV
  values:
  - DEV
  - ZA_SIT
  - AF_SIT
  - MAH_PROD
  - SA_PROD
- name: ser
  displayName: Server
  default: ESB
  values:
  - ESB
- name: branch
  displayName: Checkout Branch
  default: Dev
  values:
  - Dev
  - sit_mah
  - sit_sa
  - prod_mah
  - prod_sa
- name: packages
  displayName: Packages to Deploy:- 
      Specify "none" to deploy all packages,
      To deploy multiple packages specify them "," seperated
  default: none
- name: connectors
  displayName: Connectors to Deploy:-
    To deploy multiple connectors specify them "," seperated
  default: none
  
- name: connvs
  displayName: Connectors Variable Substitution
  type: boolean
  default: false

- name: checkDep
  displayName: Check serviceDependencies:- 
    Specify "full" if "Packages to Deploy" is "none"
  default: ignore
  values:
  - full
  - partial
  - ignore

trigger: none
jobs:


- job: Checkout
  variables:
    ${{ if eq(parameters.env, 'DEV') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'ZA_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'AF_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'SA_PROD') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'MAH_PROD') }}:
      Agent: onprem_webMethods
  pool:
    name: 'ESB_webMethods'
    demands: Agent.Name -equals ${{ variables.Agent }}
  steps:
  - checkout: git://EBS/OnPrem_webMethods@${{ parameters.branch }}
    submodules: 'recursive'
    clean: true
    path: workspace
    persistCredentials: true
  - bash: |
      BuildPath="$(Agent.BuildDirectory)"
      echo "This is build location $BuildPath"
      echo "##vso[task.setvariable variable=buildPath;isOutput=true;]$BuildPath"
    name: setVariable

            


- job: Build

  dependsOn: Checkout
  condition: succeeded('Checkout')
  
  variables:
    buildPath: $[ dependencies.Checkout.outputs['setVariable.buildPath'] ]
    ${{ if eq(parameters.env, 'DEV') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'ZA_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'AF_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'SA_PROD') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'MAH_PROD') }}:
      Agent: onprem_webMethods

  pool: 
    name: 'ESB_webMethods' 
    demands: Agent.Name -equals ${{ variables.Agent }}

  steps:
  - checkout: none
  - script: "/softwareag/wm107/common/AssetBuildEnvironment/bin/build.sh -Denable.build.IS=true -Dis.acdl.config.dir=$(buildPath)/workspace/OnPrem_webMethods/IS/packages/acdl/config${{ parameters.ser }}/${{ parameters.env }}/ -Dbuild.source.dir=$(buildPath)/workspace/OnPrem_webMethods/IS/packages/IS -Dbuild.output.dir=$(OutDir)"
    name: BuildScript


- job: CreateProject

  dependsOn: 
  - Checkout
  - Build
  condition: succeeded('Build')
  variables:
    buildPath: $[ dependencies.Checkout.outputs['setVariable.buildPath'] ]
    ${{ if eq(parameters.env, 'DEV') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'ZA_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'AF_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'SA_PROD') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'MAH_PROD') }}:
      Agent: onprem_webMethods
  pool: 
    name: 'ESB_webMethods'
    demands: Agent.Name -equals ${{ variables.Agent }}
  steps:
  - checkout: none

  - bash: |
      chmod 764 $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/buildAutomater.sh
      $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/buildAutomater.sh -p=${{ parameters.packages }} -c=${{ parameters.connectors }} -f=$(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/IS_ProjectAutomator.xml -d=${{ parameters.checkDep }}
    name: BuildProjectAutomater
  - script: "/softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/projectautomatorUnix.sh $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/IS_ProjectAutomator.xml"
    name: CreateDeployerProject
  
  - bash: |
      if [ ${{ parameters.connvs }} == False ]
        then 
        echo "No Variable Substution"
        else
          cp $(buildPath)/workspace/OnPrem_webMethods/IS/scripts/${{ parameters.ser }}/${{ parameters.env }}/_WMRepo_DepMap.vs /softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/replicate/inbound/WMRepo_WMRepo_DepMap.vs
          /softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/Deployer.sh --import -varsub --vsFile WMRepo_WMRepo_DepMap.vs -map WMRepo_DepMap -project WMRepo -host $(${{ parameters.env }}_deployerServer) -port $(${{ parameters.env }}_deployerPort) -user $(${{ parameters.env }}_username) -pwd $(${{ parameters.env }}_pwd)
      fi
    name: ImportConnectorsVS


- job: Deploy

  dependsOn: CreateProject
  condition: succeeded('CreateProject')
  variables:
    ${{ if eq(parameters.env, 'DEV') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'ZA_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'AF_SIT') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'SA_PROD') }}:
      Agent: onprem_webMethods
    ${{ if eq(parameters.env, 'MAH_PROD') }}:
      Agent: onprem_webMethods
  pool:
    name: 'ESB_webMethods'
    demands: Agent.Name -equals ${{ variables.Agent }}
  steps:
  - checkout: none
  - script: "/softwareag/wm107/IntegrationServer/instances/default/packages/WmDeployer/bin/Deployer.sh --deploy -dc WMTokenEngine_DepCand -project WMTokenEngine -host $(${{ parameters.env }}_deployerServer) -port $(${{ parameters.env }}_deployerPort) -user $(${{ parameters.env }}_username) -pwd $(${{ parameters.env }}_pwd)"
    name: DeployComposits
© www.soinside.com 2019 - 2024. All rights reserved.