2016-03-02 14 views
6

Khi tôi cố gắng MSBuild một dự án Multi-Chi nhánh tại Jenkins, xây dựng thất bại vì msbuild thay thế thoát "% 2F" với "\"Làm thế nào để msbuild một dự án Multi-Branch trong jenkins?

Ví dụ lỗi:

"C: \ Program Files (x86) \ Jenkins \ jobs \ ProjectBranches \ chi nhánh \ chi nhánh% 2FBranch-229 \ workspace \ project \ project \ project.csproj "(mục tiêu mặc định) (1) -> C: \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.CurrentVersion.targets (321,5): lỗi MSB4019: Dự án đã nhập "C: \ Program Files (x86) \ Jenkins \ jobs \ ProjectBranches \ chi nhánh \ branch \ Branch-229 \ workspace \ project \ packages \ Microsoft .Net.Compilers.1.0.0 \ tools \ Microsoft.CSharp.Core.targets "không tìm thấy. Xác nhận rằng đường dẫn trong khai báo là chính xác và tệp tồn tại trên đĩa. [C: \ Program Files (x86) \ Jenkins \ jobs \ ProjectBranches \ chi nhánh \ chi nhánh% 2FBranch-229 \ workspace \ project \ project \ project.csproj]

Trả lời

0

Tôi vừa gặp phải vấn đề này ngày hôm nay. Tôi đã kết thúc giải quyết bằng cách ghi đè thư mục build và workspace trong cấu hình máy chủ

Tôi đặt "Thư mục gốc không gian làm việc" thành "c:/ws/$ {ITEM_FULL_NAME}/work" và "Xây dựng thư mục gốc của bản ghi" thành " c:/ws/$ {ITEM_FULL_NAME}/xây dựng "

ITEM_FULL_NAME là tên của công việc và vì tên công việc có"/"thay vì% 2F, nó sẽ kết thúc làm thư mục tương tự tới c: \ ws \ project \ branch \ name \ work. Điều đó sẽ giải quyết vấn đề của bạn.

1

Có toàn bộ thảo luận về mã hóa tên chi nhánh trong Jira #34564.

Một propsed công việc xung quanh mà làm việc cho tôi là để change workspace dir in Jenkinsfile:

node(agent) { 

    def workspace_orig = pwd() 
    def workspace_sane = workspace_orig.replaceAll("%", "_") 

    ws(workspace_sane) { 
     // ... 
    } 

} 
Các vấn đề liên quan