2015-10-01 2 views
2

В AppVeyor Я хотел бы установить номер сборки с номером выпуска от Github. Это будет использоваться для исправления AssemblyVersion.Как использовать ветвь git как build nr в AppVeyor

Я использую GitFlow и имею ветку освобождения. В SourceTree я создаю новую версию, например v1.2, которая создает выпуск ветви/v1.2. Часть 1.2, которую я хотел бы использовать в AppVeyor.

Как построй формат версии: {gitRelease} {сборки}

Screenshot AppVeyor build nr

для этой работы,

  1. мне нужно получить имя ветви GitHub,
  2. Extract. номер выпуска от него,
  3. Поместите это в переменную {gitRelease}
  4. Запустите это перед сборкой. Патч

Но я не могу найти, как это сделать.

Для самой сборки у меня есть скрипт сборки, который отправляет вывод (пакет nuget) в Octopus Deploy, поэтому это означает, что нет раздела «Перед сборкой сценария сборки».

ответ

1

С помощью аппарата поддержки от AppVeyor, я получил это работает. 1733-how-to-call-the-assemblyversion-patch-from-the-build-script

Мне нужно использовать раздел init в appveyor.yml. И я использовал отдельную строку cmd для версии UpdateBuild (у меня были некоторые проблемы с qoutes).

init: 
- cmd: "set appVeyorBuildVersion=%appveyor_build_version%\necho appVeyorBuildVersion:%appVeyorBuildVersion% \n\nset branch=%APPVEYOR_REPO_BRANCH%\necho branch:%branch%\n\nset gitVersion=%branch:~-3%\necho gitversion:%gitVersion%\n\nset newVersion=%gitVersion%.%APPVEYOR_BUILD_NUMBER%\necho %newVersion%\n\n" 
- cmd: appveyor UpdateBuild -Version "%newVersion%" 

assembly_info: 
    patch: true 
    file: '**\AssemblyInfo.*' 
    assembly_version: '{version}' 
    assembly_file_version: '{version}' 
    assembly_informational_version: '{version}' 
build_script: 
- cmd: "echo Building version:%appveyor_build_version%" 
- cmd: "nuget restore\nmsbuild MySolution.sln /t:build /p:Configuration=Release" 

командной строки часть (более читаемым):

echo repo branch:%APPVEYOR_REPO_BRANCH% 

set branch=%APPVEYOR_REPO_BRANCH% 
echo branch:%branch% 

set gitVersion=%branch:~-4% 
echo gitversion:%gitVersion% 


set newVersion=%gitVersion%.%APPVEYOR_BUILD_NUMBER% 
echo %newVersion% 

appveyor UpdateBuild -Version "%newVersion%" 
1

Вы можете получить номер версии из переменной окружения, процесс его и отправить обратно с помощью AppVeyor сборки уборщица API:

$version = $env:appveyor_build_version 
# ... do something with it 
Update-AppveyorBuild -Version $version 
+0

Это получить версию формы AppVeyor. Я хочу получить версию из GitHub (от имени ветки). –

+0

я могу получить gitVersion сейчас, и создать версию я хочу использовать: набора gitVersion =% APPVEYOR_REPO_BRANCH:. ~ -4% набор версии =% gitVersion%% APPVEYOR_BUILD_NUMBER% AppVeyorBuild может быть обновлен с этим , как вы упомянули. Но как назвать патч AssemblyVersion? –

Смежные вопросы