Azure管道

时间:2019-07-09 13:45:47

标签: azure powershell azure-devops yaml devops

我正在编译我的C ++代码。我的要求是用两个文件生成工件。     1:二进制文件     2:自述文件     我能够生成一个二进制文件,但是无法生成特定格式的自述文件。自述文件包含以下格式的内部版本号     内部编号= $ a。$ d。$ e     $ a =可以设置的构建管道变量,     $ d =一些增量值,     $ e = git commit SHA就像669b7f8e

我不想使用电源外壳“ ## vso [build.updatebuildnumber]内部版本号”并放入值。

我的管道是:

    variables:
      - name: Version
        value: 1
      - name: VersionRevision
        value: $[counter(variables['Version'], 0)]
      - name: commitsha
        value: $['Build.SourceVersion']
      - name: build
        value: mybuild
      - name: buildnumber
        value: $[ format('{0}.{1}.{2}', variables['build'], variables['VersionRevision'],variables['commitsha']) ]

trigger:
- master

jobs:
- job: gcctest
  pool:
   vmImage: 'ubuntu-16.04'
  steps:
  - script: sudo apt-get update && sudo apt-get install libboost-all-dev
  - script: g++ -std=c++11 -I/usr/include/boost/asio -I/usr/include/boost -o result.out m.cpp
          c.cpp d.cpp f.cpp 

  - bash: echo $(buildnumber)>test.txt
  - task: CopyFiles@2
    inputs:
      sourceFolder: '$(Build.SourcesDirectory)'
      contents: '?(*.out|*.txt)'
      targetFolder: $(Build.ArtifactStagingDirectory)
  - task: PublishBuildArtifacts@1
    inputs:
        pathToPublish: $(Build.ArtifactStagingDirectory)
        artifactName: result

1 个答案:

答案 0 :(得分:0)

将其放在嵌入式PowerShell脚本任务中:

$text = "$($build).$($VersionRevision).$($commitsha)"
Write-Host $text -ForegroundColor Yellow
$text > "readme.txt"

PowerShell Script Task

请记住,您必须先定义$build$VersionRevision$commitsha,或者在PowerShell脚本内部添加定义。