gpt4 book ai didi

azure-devops - Azure DevOps - 具有多个作业语法错误的 YAML 管道

转载 作者:行者123 更新时间:2023-12-04 13:12:14 25 4
gpt4 key购买 nike

我有一个尝试运行多个作业的 YAML 管道,但第一个任务(GitVesion 命令行任务)出现语法错误,我不知道不要进入我拥有的只有一份工作的其他管道。

我得到的错误是:

(Line: 29, Col: 18, Idx: 576) - (Line: 29, Col: 18, Idx: 576): Mapping values are not allowed in this context.

第 29 行是第一个任务的 displayName(实际管道在文件顶部有注释,已在下面删除)。

trigger:
- master

pool:
name: NameRedacted
demands: VisualStudio_15.0

variables:
- name: CreateRelease
value: true
- name: PublishPackages
value: true
- name: PublishMyGetPackages
value: true
- name: IntegrationTests_SqlAlias
value: .
- group: 'Common Variables'

jobs:

- job: Backend
steps:
- task: CmdLine@1
displayName: GitVersion
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete files from $(Build.Repository.LocalPath)'
inputs:
SourceFolder: '$(Build.Repository.LocalPath)'
Contents: |
**/*.nupkg
Packages/*.zip

- task: DeleteFiles@1
displayName: 'Delete old test files'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**\*test*.dll'

- task: UseDotNet@2
displayName: 'Use .Net Core SDK 2.2.104'
inputs:
packageType: sdk
version: 2.2.104
installationPath: $(Agent.ToolsDirectory)/dotnet

- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: NameRedacted.sln
restoreArguments: '$(DotNetRestoreSourcesLight)'

- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: NameRedacted.sln
arguments: '-c Release --no-restore'

- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: 'test'
projects: |
**/*tests*/*.csproj
!**\*Tests.Common.csproj
!**\*Tests.Common.dll
!**\*TestAdapter.dll
!**\obj\**
!**\netstandard2.0\*.dll
!**\node_modules\**
arguments: '-c Release'

- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
arguments: '-c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory) --no-restore'
zipAfterPublish: false

# Octopus packaging and pushing redacted

- job: 'Angular App'
steps:
- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete tests '
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: '**/TESTS-*.xml'

- task: DeleteFiles@1
displayName: 'Delete files from dist'
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: dist

- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x

- task: Npm@1
displayName: 'npm install windows-build-tools'
inputs:
command: custom
verbose: false
customCommand: 'install --global --production windows-build-tools'

- task: Npm@1
displayName: 'npm install node-sass'
inputs:
command: custom
verbose: false
customCommand: 'install --global --unsafe-perms node-sass'

- task: Npm@1
displayName: Restore
inputs:
workingDir: '$(Parameters.SourceFolder)'
verbose: false

- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'run ui-prod'

- task: Npm@1
displayName: Test
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'test --watch=false --single-run=true --reporters=junit,progress --browsers=PhantomJS'
enabled: false

- task: PublishTestResults@2
displayName: 'Publish Test Results **/TESTS-*.xml'
inputs:
testResultsFiles: '**/TESTS-*.xml'
enabled: false
condition: succeededOrFailed()

- task: Npm@1
displayName: Lint
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'run lint'
enabled: false

# Octopus packaging and pushing redacted

- job: 'Ionic App'
steps:
- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete tests'
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: '**/TESTS-*.xml'

- task: DeleteFiles@1
displayName: 'Delete files from dist'
inputs:
SourceFolder: 'src/ionic-app'
Contents: www

- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x

- task: Npm@1
displayName: 'npm install windows-build-tools'
inputs:
command: custom
verbose: false
customCommand: 'install --global --production windows-build-tools'

- task: Npm@1
displayName: 'npm install node-sass'
inputs:
command: custom
verbose: false
customCommand: 'install --global --unsafe-perms node-sass'

- task: Npm@1
displayName: 'npm install ionic'
inputs:
command: custom
verbose: false
customCommand: 'install --global ionic'

- task: Npm@1
displayName: Restore
inputs:
workingDir: 'src/ionic-app'
verbose: false

- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: 'src/ionic-app'
verbose: false
customCommand: 'run build-web-prod'

# Octopus packaging and pushing redacted

- job: Release
dependsOn:
- Backedn
- 'Angular App'
- 'Ionic App'
steps:
- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['CreateRelease'],'true'), ne(variables['Build.Reason'], 'Schedule'))

# Octopus release creating redacted

最佳答案

您有 3 个问题:

  1. displayName 应与task 对齐。
  2. inputs 之后的键应该在 inputs 的右边并且不对齐。
  3. job 名称不能有空格。

我帮你修好了,这是正确的:

trigger:
- master

pool:
name: NameRedacted
demands: VisualStudio_15.0

variables:
- name: CreateRelease
value: true
- name: PublishPackages
value: true
- name: PublishMyGetPackages
value: true
- name: IntegrationTests_SqlAlias
value: .
- group: 'Common Variables'

jobs:

- job: Backend
steps:
- task: CmdLine@1
displayName: GitVersion
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/Naus*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete files from $(Build.Repository.LocalPath)'
inputs:
SourceFolder: '$(Build.Repository.LocalPath)'
Contents: |
**/*.nupkg
Packages/*.zip

- task: DeleteFiles@1
displayName: 'Delete old test files'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**\*test*.dll'

- task: UseDotNet@2
displayName: 'Use .Net Core SDK 2.2.104'
inputs:
packageType: sdk
version: 2.2.104
installationPath: $(Agent.ToolsDirectory)/dotnet

- task: DotNetCoreCLI@2
displayName: Restore
inputs:
command: restore
projects: NameRedacted.sln
restoreArguments: '$(DotNetRestoreSourcesLight)'

- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: build
projects: NameRedacted.sln
arguments: '-c Release --no-restore'

- task: DotNetCoreCLI@2
displayName: Test
inputs:
command: 'test'
projects: |
**/*tests*/*.csproj
!**\*Tests.Common.csproj
!**\*Tests.Common.dll
!**\*TestAdapter.dll
!**\obj\**
!**\netstandard2.0\*.dll
!**\node_modules\**
arguments: '-c Release'

- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: publish
arguments: '-c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory) --no-restore'
zipAfterPublish: false

# Octopus packaging and pushing redacted

- job: AngularApp
steps:
- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete tests '
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: '**/TESTS-*.xml'

- task: DeleteFiles@1
displayName: 'Delete files from dist'
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: dist

- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x

- task: Npm@1
displayName: 'npm install windows-build-tools'
inputs:
command: custom
verbose: false
customCommand: 'install --global --production windows-build-tools'

- task: Npm@1
displayName: 'npm install node-sass'
inputs:
command: custom
verbose: false
customCommand: 'install --global --unsafe-perms node-sass'

- task: Npm@1
displayName: Restore
inputs:
workingDir: '$(Parameters.SourceFolder)'
verbose: false

- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'run ui-prod'

- task: Npm@1
displayName: Test
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'test --watch=false --single-run=true --reporters=junit,progress --browsers=PhantomJS'
enabled: false

- task: PublishTestResults@2
displayName: 'Publish Test Results **/TESTS-*.xml'
inputs:
testResultsFiles: '**/TESTS-*.xml'
enabled: false
condition: succeededOrFailed()

- task: Npm@1
displayName: Lint
inputs:
command: custom
workingDir: '$(Parameters.SourceFolder)'
verbose: false
customCommand: 'run lint'
enabled: false

# Octopus packaging and pushing redacted

- job: IonicApp
steps:
- task: DeleteFiles@1
displayName: 'Delete files from $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactStagingDirectory)'
Contents: '**/Naus*.nupkg'

- task: DeleteFiles@1
displayName: 'Delete tests'
inputs:
SourceFolder: '$(Parameters.SourceFolder)'
Contents: '**/TESTS-*.xml'

- task: DeleteFiles@1
displayName: 'Delete files from dist'
inputs:
SourceFolder: 'src/ionic-app'
Contents: www

- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'

- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: 10.x

- task: Npm@1
displayName: 'npm install windows-build-tools'
inputs:
command: custom
verbose: false
customCommand: 'install --global --production windows-build-tools'

- task: Npm@1
displayName: 'npm install node-sass'
inputs:
command: custom
verbose: false
customCommand: 'install --global --unsafe-perms node-sass'

- task: Npm@1
displayName: 'npm install ionic'
inputs:
command: custom
verbose: false
customCommand: 'install --global ionic'

- task: Npm@1
displayName: Restore
inputs:
workingDir: 'src/naus-residents-app'
verbose: false

- task: Npm@1
displayName: Build
inputs:
command: custom
workingDir: 'src/naus-residents-app'
verbose: false
customCommand: 'run build-web-prod'

# Octopus packaging and pushing redacted

- job: Release
dependsOn:
- Backedn
- 'Angular App'
- 'Ionic App'
steps:
- task: CmdLine@1
displayName: 'Run $(GitVersionPath)'
inputs:
filename: '$(GitVersionPath)'
arguments: '$(GitVersionArguments)'
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['CreateRelease'],'true'), ne(variables['Build.Reason'], 'Schedule'))

# Octopus release creating redacted

关于azure-devops - Azure DevOps - 具有多个作业语法错误的 YAML 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64019524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com