我们正在构建我们的解决方案而没有任何" Pipeline"在Jenkins直到最近,所以我目前正在将我们的构建转移到多分支管道。
我遇到的问题是我们的解决方案有很多结构(很多子文件夹,有时还有一些大名字)。
目前,jenkins管道提取文件夹中的所有内容,如下所示:
D:\ws\ght-build_feature_pipelines-TMQ33LB5OQIQ5VXVMFKFDG2HWCD4MUOGEGUWJUOMZ5D2GI42BIQA
这是非常长的,现在我们达到了MSBuild
C:\ Program Files(x86)\ Microsoft Visual 工作室\ 2017年\专业\的MSBuild \ 15.0 \斌\ Microsoft.Common.CurrentVersion.targets(2991,5): 错误MSB3553:资源文件 "物镜\推出\ xx.aaaaaaaaaa.yyy.bbbbbb.dddddddddddddd.yyyyyyy.vvv.dddddddddd.Resources.resources" 名称无效。项目元数据"%(FullPath)"无法应用 到了路上 "物镜\推出\ xx.aaaaaaaaaa.yyy.bbbbbb.dddddddddddddd.yyyyyyy.vvv.dddddddddd.Resources.resources&#34 ;. 指定的路径,文件名或两者都太长。完全 限定文件名必须少于260个字符,并且 目录名称必须少于248个字符。 [d:\ WS \ GHT-build_feature_pipelines-TMQ33LB5OQIQ5VXVMFKFDG2HWCD4MUOGEGUWJUOMZ5D2GI42BIQA \ SRC \ BBBBBB \ DDDDDD \ dddddddddddddd \ YYYYYYY \ xx.aaaaaaaaaa.yyy.bbbbbb.dddddddddddddd.yyyyyyy.vvv \ xx.aaaaaaaaaa.yyy.bbbbbb.dddddddddddddd.yyyyyyy.vvv。的csproj]
我们有很多案例,长度很大,重构一切真的很重要,所以我正在研究如何指定jenkins更小的路径?
答案 0 :(得分:3)
实际上你可以设置一个java属性来指定目录名称的lentgth,例如:
-Djenkins.branch.WorkspaceLocatorImpl.PATH_MAX=20
要使其永久化,您必须在jenkins java启动配置文件中指定此属性。
您也可以使用jenkins脚本控制台读取和编写此属性以进行临时更改,或者只是试一试,因为它会立即生效,例如。
println jenkins.branch.WorkspaceLocatorImpl.PATH_MAX
jenkins.branch.WorkspaceLocatorImpl.PATH_MAX = 20
println jenkins.branch.WorkspaceLocatorImpl.PATH_MAX
将此值设置为0会更改路径生成行为。
详情请查看:
https://issues.jenkins-ci.org/browse/JENKINS-34564
https://issues.jenkins-ci.org/browse/JENKINS-38706
答案 1 :(得分:2)
我最终做了什么:
pipeline {
agent {
node{
label 'windows-node'
customWorkspace "D:\\ws\\${env.BRANCH_NAME}"
}
}
options{
skipDefaultCheckout()
}
...
}
我做了结帐的一步。我更容易找到一份“每份工作”#34;行为,没有触及jenkins全球设置。