Добавление идентификатора фиксации git в .nuspec-файл

#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 знака доллара. Не сработало с фиксацией, поскольку она не была допустимым дочерним элементом, но использование допустимого дочернего элемента ваш совет устранили проблему.