'Trigger auto continuous integration on build version change

Task: when developer update or modify the code, pipliene should trigger auotomatically only if buidlversion changes

steps:

  • task: DownloadPipelineArtifact@2 inputs: buildType: 'specific' project: 'b174afbc-e833-41da-824e-04523dd6112e' definition: '1845' buildVersionToDownload: 'latest' allowFailedBuilds: true targetPath: '$(System.DefaultWorkingDirectory)/Stuff'

  • script: | cd Stuff dir cd drop dir

  • task: PowerShell@2 displayName: 'Get version to build version' inputs: targetType: 'inline' script: | $buildupdatedNumber = Get-Content $(System.DefaultWorkingDirectory)/Stuff/drop/electron/buildVersion.txt echo $buildupdatedNumber echo "printing updated value:" "$buildupdatedNumber"

  • task: CopyFiles@2 displayName: 'Copy Deployment definition File' inputs: contents: 'electron/package.json' targetFolder: $(Build.ArtifactStagingDirectory) script: | dir

  • task: PowerShell@2 displayName: 'read version' inputs: targetType: 'inline' script: | cd $(Build.ArtifactStagingDirectory)/electron $version = (Get-Content package.json) -join "`n" | ConvertFrom-Json | Select -ExpandProperty "version" $buildNumber = "$version" Set-Content buildVersion.txt "$buildNumber" echo "Printing version numebr from file" cat buildVersion.txt echo "##vso[build.updatebuildnumber]$buildNumber" Write-Host "##vso[task.setvariable variable=buildNumber;]$buildNumber" dir

  • task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: drop'

  • script: | mkdir Stuff dir



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source