#nuget #teamcity #command-prompt #git-commit #nuspec
#nuget #teamcity #командная строка #git-фиксация #nuspec
Вопрос:
Пытаюсь добавить git commit id в .nuspec — пока только из командной строки, а затем из teamcity.
Есть ли способ сделать это?
Это правильное направление «nuget pack -Properties Configuration=Release;commitId =SomethingSomething» или я полностью заблудился?
Комментарии:
1. пожалуйста, добавьте больше информации. не понятно.
2. По сути, у меня просто есть .nuspec-файл, который я хочу обновить идентификатором фиксации git при сборке пакета nuget. Я пытался сделать это через TeamCity, что у меня не получилось, и поэтому сейчас просто пытаюсь сделать это через командную строку — не знаю, имеет ли это смысл? Я не хочу, чтобы номер пакета указывался с идентификатором фиксации, поскольку я это выяснил, но я хочу, чтобы параметр commit id в .nuspec-файле был переопределен фактическим идентификатором фиксации git.
Ответ №1:
У TC есть параметр %build.vcs.number.1%
, который возвращает значение фиксации первого подключенного VCS вашей конфигурации. Вы можете использовать это значение
Некоторые заменяющие токены в файле NuSpec извлекаются из сборки в момент ее упаковки. Просто установите заменяющее значение как <commit>$mycommit$</commit>
nuget pack -Properties "mycommit=%build.vcs.number.1%;Something=Else"
Более подробную информацию можно найти здесь — Документация NuSpec
Если вы добавите шаг сборки пакета NuGet и дополнительные параметры, вам должно быть представлено поле ввода для ввода свойств в TeamCity
Комментарии:
1. Большое вам спасибо — я забыл 2 знака доллара. Не сработало с фиксацией, поскольку она не была допустимым дочерним элементом, но использование допустимого дочернего элемента ваш совет устранили проблему.