首页 > 解决方案 > Azure 管道

问题描述

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

我不想使用 power shell “##vso[build.updatebuildnumber]build number” 并输入值。

我的管道是:

    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

标签: azurepowershellazure-devopsyamlazure-pipelines

解决方案


将其放入内联 PowerShell 脚本任务中:

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

PowerShell 脚本任务

请记住,您必须在 PowerShell 脚本中添加定义和$build之前的定义。$VersionRevision$commitsha


推荐阅读