Лазурные трубопроводы - PullRequest
1 голос
/ 09 июля 2019

Я компилирую свой код на C ++.Мое требование заключается в создании артефактов с двумя файлами.1: двоичный файл 2: файл Readme Я могу создать двоичный файл, но не могу создать файл Readme в определенном формате.Файл Readme содержит номер сборки в следующем формате. Buildnumber = $ 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 голосов
/ 09 июля 2019

Поместите это внутрь для встроенной задачи сценария PowerShell:

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

PowerShell Script Task

Имейте в виду, что вы должны определить $build, $VersionRevision и $commitsha перед добавлением определения в сценарий PowerShell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...