Jenkins Blue Ocean 工作区路径太长
Jenkins Blue Ocean workspace Path Too Long
我们正在使用 Jenkins Blue Ocean 在 Windows 2012 r2 Jenkins Slaves 上构建 .Net 应用程序。我们在 git 存储库中使用 Jenkinsfile
来定义构建管道。
对于几个项目,由于工作区构建路径太长 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
由于我们无法影响 Visual Studio 解决方案 nuget 包路径的长度,我们如何将工作区文件夹降低到 Windows 可以处理的程度?
感谢 Mutsa 的建议,这是我们在 Jenkinsfile 中的最终结果:
pipeline {
agent {
node {
label 'win'
customWorkspace "ws\${JOB_NAME.replace("%2F", "_")}"
}
}
可以在 GitHub.
的 .net 核心 Wakeboard UK website repo 的上下文中看到
您可以随时自定义工作区路径并指向目录
对于声明性管道,使用 customworksace 选项覆盖节点中的默认路径,docker 或 docker 文件部分。参见示例。
agent {
node {
customWorkspace '/some/other/path'
}
可以是相对于工作区根目录的相对路径,也可以是绝对路径。
我们正在使用 Jenkins Blue Ocean 在 Windows 2012 r2 Jenkins Slaves 上构建 .Net 应用程序。我们在 git 存储库中使用 Jenkinsfile
来定义构建管道。
对于几个项目,由于工作区构建路径太长 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
由于我们无法影响 Visual Studio 解决方案 nuget 包路径的长度,我们如何将工作区文件夹降低到 Windows 可以处理的程度?
感谢 Mutsa 的建议,这是我们在 Jenkinsfile 中的最终结果:
pipeline {
agent {
node {
label 'win'
customWorkspace "ws\${JOB_NAME.replace("%2F", "_")}"
}
}
可以在 GitHub.
的 .net 核心 Wakeboard UK website repo 的上下文中看到您可以随时自定义工作区路径并指向目录
对于声明性管道,使用 customworksace 选项覆盖节点中的默认路径,docker 或 docker 文件部分。参见示例。
agent {
node {
customWorkspace '/some/other/path'
}
可以是相对于工作区根目录的相对路径,也可以是绝对路径。