Рабочее пространство Jenkins Blue Ocean Path Too Long
Мы используем Jenkins Blue Ocean для создания приложений.Net в Windows 2012 r2 Jenkins Slaves. Мы используем Jenkinsfile
внутри репозитория git для определения конвейеров сборки.
С парой проектов мы получаем ошибку сборки из-за того, что путь сборки рабочей области слишком длинный для обработки Windows.
Это обычно происходит с nuget pack
а также npm install
команды, которые максимизируют максимальный путь.
The specified path, file name, or both are too long.
The fully qualified file name must be less than 260 characters,
and the directory name must be less than 248 characters.
script returned exit code 1
Поскольку мы не можем повлиять на длину путей пакетов nuget для Visual Studio Solution, как мы можем перетащить папку рабочей области в то, что может обработать Windows?
Благодаря предложению Муцы, вот что мы получили в нашем Jenkinsfile:
pipeline {
agent {
node {
label 'win'
customWorkspace "ws\\${JOB_NAME.replace("%2F", "_")}"
}
}
Это можно увидеть в контексте нашего репозитория Wakeboard UK на.it GitHub.
2 ответа
Для декларативного конвейера используйте параметр customworksace, чтобы переопределить путь по умолчанию в вашем узле, разделе docker или разделе dockerfile. Смотрите пример.
agent {
node {
customWorkspace '/some/other/path'
}
Это может быть относительный путь относительно корня рабочего пространства или абсолютный путь.
Вы всегда можете настроить путь к рабочей области и указать каталог