Я компилирую свой код на 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