I wrote a pipeline in Azure DevOps which would change the buildNumber of my project automatically. The problem is that I get the error can not read a block mapping entry; a multiline key may not be an implicit key
.
I know this question has been asked a million times already but so far I did not manage to get it to work.
Here is the azure-pipeline.yml
:
# 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
trigger:
- main
- major/*
- feat/*
- patch/*
pool:
vmImage: window-latest
steps:
- task: PowerShell@2
displayName: 'increment Version'
inputs:
targetType: 'inline'
script: |
function Increment-MajorVersion(){
[int[]]$build = $(Build.BuildNumber) -split "."
[int]$major = $build[0]
[int]$minor = $build[1]
[int]$patch = $build[2]
$major += 1
[string]$buildVersion = "$($major).$($minor).$($patch)"
return $buildVersion
}
function Increment-MinorVersion(){
[int[]]$build = $(Build.BuildNumber) -split "."
[int]$major = $build[0]
[int]$minor = $build[1]
[int]$patch = $build[2]
$minor += 1
[string]$buildVersion = "$($major).$($minor).$($patch)"
return $buildVersion
}
function Increment-PatchVersion(){
[int[]]$build = $(Build.BuildNumber) -split "."
[int]$major = $build[0]
[int]$minor = $build[1]
[int]$patch = $build[2]
$patch += 1
[string]$buildVersion = "$($major).$($minor).$($patch)"
return $buildVersion
}
if($(Build.SourceBranchName) -match "major"){
[string]$buildVersion = Increment-MajorVersion
Write-Host "##vso[task.setvariable variable=buildNumber]$buildVersion"
}
if($(Build.SourceBranchName) -match "feat"){
[string]$buildVersion = Increment-MajorVersion
Write-Host "##vso[task.setvariable variable=buildNumber]$buildVersion"
}
if($(Build.SourceBranchName) -match "patch"){
[string]$buildVersion = Increment-MajorVersion
Write-Host "##vso[task.setvariable variable=buildNumber]$buildVersion"
}
- task: UseDotNet@2
displayName: 'Use .NET 6'
inputs:
packageType: 'sdk'
version: '6.x.x'
includePreviewVersions: false
- task: NuGetCommand@2
displayName: 'Restore NuGet Packages'
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'config'
- task: VSBuild@1
displayName: Build Projekt
inputs:
solution: '**\*.sln'