На моем сервере Jenkins у меня есть проект, который проверяет исходный код из SVN и запускает скрипт сборки MakeInstaller.ps1, который был извлечен вместе с исходным кодом. Это довольно прямолинейно, и эта часть отлично работает.Jenkins svn export build step
Что плохо работает, так это то, что часть MakeInstaller.ps1 пытается выполнить экспорт svn конкретной версии какого-либо другого исходного кода, но у него нет учетных данных для подключения к SVN. Когда я запускаю скрипты сборки на моем ПК, это совершенно нормально, потому что Tortoise SVN имеет учетные данные, кэшированные.
У Jenkins уже есть мои учетные данные SVN, но это используется только тогда, когда Дженкинс проверяет исходный код, а не когда мой скрипт сборки пытается проверить исходный код.
Я пробовал:
- Установка инструментов командной строки Tortoise SVN на машине, которая работает Дженкинс. Это зафиксировало мою первоначальную ошибку «svn.exe not found», но у нее нет возможности узнать мои учетные данные для этого сервера.
- Я даже вошел в систему на сервере SVN, используя Tortoise SVN на этом компьютере, чтобы попытаться его кэшировать учетных данных, но он все еще не работает. Я предполагаю, что это связано с тем, что служба Jenkins не работает под тем же пользователем, с которой я вошел в систему.
Я чувствую, что, несмотря на это, я выхожу на неверный путь. Кажется немного странным, что Tortoise SVN установлен на этой машине вместе с любым SVN-клиентом, который уже использует подключаемый модуль Jenkins SVN.
Мой вопрос: Есть ли способ экспортировать SVN из встроенного скрипта в Jenkins и использовать ли он учетные данные, которые уже знает Jenkins? Можно ли использовать тот же svn.exe, который использует подключаемый модуль Jenkins SVN? Я действительно не хочу включать учетные данные в скрипт сборки.
Большинство подобных вопросов, которые я нашел, включали в себя неудачу из-за неправильных учетных данных, а не проверку, которая происходит как часть скрипта сборки.