Как заставить GitVersion работать в Jenkins

Мы используем конвейер jenkins (голубой океан) для создания нашего проекта.

Как мы можем заставить gitversion работать в jenkinsfile?

При попытке gitversion.exe /output buildserver: C:\jenkins\workspace\mastere809bb9e>buildtools\GitVersion\tools\GitVersion.exe /output buildserver

INFO [18.01.18 8:17:27:73] Рабочий каталог: C:\jenkins\workspace\mastere809bb9e

INFO [18.01.18 8:17:27:75] Обнаружен применимый агент сборки: «Дженкинс».

INFO [18.01.18 8:17:27:75] Ветка из среды сборки:

ОШИБКА [18.01.18 8:17:27:82] Произошла непредвиденная ошибка:

System.ArgumentNullException: Der Wert darf nicht NULL sein.

Имя параметра: путь

bei LibGit2Sharp.Core.Ensure.ArgumentNotNull (значение аргумента объекта, имя аргумента строки)

bei LibGit2Sharp.Core.Ensure.ArgumentNotNullOrEmptyString (строковое значение аргумента, строковое имя аргумента)

bei LibGit2Sharp.Repository..ctor (путь строки, параметры RepositoryOptions)

bei GitVersion.GitHelper.NormalizeGitDirectory (строка gitDirectory, аутентификация аутентификации, логическое значение noFetch, String currentBranch)

bei GitVersion.GitPreparer.Initialise (логическое значение normaliseGitDirectory, String currentBranch)

bei GitVersion.ExecuteCore.ExecuteGitVersion(IFileSystem fileSystem, String targetUrl, String dynamicRepositoryLocation, Аутентификация аутентификации, String targetBranch, Boolean noFetch, String workingDirectory, String commitId)

bei GitVersion.SpecifiedArgumentRunner.Run (аргументы аргументов, файловая система IFileSystem)

с GitVersion.Program.VerifyArgumentsAndRun()

ИНФО [18.01.18 8:17:27:82]

INFO [18.01.18 8:17:27:82] Вот текущий график git (пожалуйста, включите в выдачу):

INFO [18.01.18 8:17:27:82] Показано максимальное количество коммитов: 100

ИНФОРМАЦИЯ [18.01.18 8:17:27:90] ОШИБКА: фатальная: не репозиторий git (или какой-либо из родительских каталогов): .git


person Matthias Kammerlohr    schedule 18.01.2018    source источник
comment
Поможет ли документация? gitversion.readthedocs.io/en/latest/build -поддержка-сервера/   -  person Roland Weber    schedule 18.01.2018
comment
Привет, я уже пробовал gitversion /output buildserver, но это не работает: C:\jenkins\workspace\mastere809bb9e› INFO [18.01.18 7:25:42:92] ОШИБКА: фатальная: не репозиторий git (или любой родительских каталогов): .git   -  person Matthias Kammerlohr    schedule 18.01.2018


Ответы (1)


GitVersion требует информацию из репозитория Git, чтобы вычислить версию SemVer для вашего кода.

Чтобы помочь решить вашу проблему, в вашем конвейере Jenkins я бы добавил шаг к git clone -b <branch> <remote-repo> и использовал его в качестве исходного каталога. (Я не использую Jenkins, но я полагаю, что у них уже есть задача/шаг/что-то, что может это сделать.) Затем вы можете запустить GitVersion и рассчитать версию вашего кода (следуя инструкции по настройке Jenkins на GitVersion).

person fourpastmidnight    schedule 10.03.2020