首页 文章

如何在詹金斯建造一个多分支项目?

提问于
浏览
7

当我尝试在Jenkins中构建多分支项目时,构建失败,因为msbuild用“\”替换转义“%2F”

示例错误:

“C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches%2FBranch-229 \ workspace \ project \ project \ project.csproj”(默认目标)(1) - > C:\ Program Files(x86 )\ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.CurrentVersion.targets(321,5):错误MSB4019:导入的项目“C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches \ Branch-229未找到\ workspace \ project \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.CSharp.Core.targets“ . 确认声明中的路径是否正确,以及该文件是否存在于磁盘上 . [C:\ Program Files(x86)\ Jenkins \ jobs \ ProjectBranches \ branches \ branches%2FBranch-229 \ workspace \ project \ project \ project.csproj]

2 回答

  • 0

    关于Jira #34564中的分支名称编码有一个完整的讨论 .

    对我有用的推荐解决方法是change workspace dir in Jenkinsfile

    node(agent) {
    
        def workspace_orig = pwd()
        def workspace_sane = workspace_orig.replaceAll("%", "_")
    
        ws(workspace_sane) {
            // ...
        }
    
    }
    
  • 2

    我今天刚遇到这个问题 . 我最终通过覆盖服务器配置中的build和workspace文件夹来解决问题

    我将“工作区根目录”设置为“c:/ ws / $ / work”,将“构建记录根目录”设置为“c:/ ws / $ / builds”

    ITEM_FULL_NAME是作业的名称,由于作业名称有“/”而不是%2F,因此最终会使文件夹类似于c:\ ws \ project \ branch \ name \ work . 这应该可以解决您的问题 .

相关问题