2012-05-11 24 views
7

Tôi có thể chuyển giá trị của tham số scm cho Jenkins không?Chuyển giá trị thẻ scm thông qua tham số bằng jenkins

trong pom.xml của tôi, tôi có các giá trị thiết lập như mặc định:

<scm> 
    <connection> scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/ </ connection> 
    <developerConnection>scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/</developerConnection> 
</ scm> 

Vấn đề là khi tôi chạy với chi nhánh khác và muốn chạy một thông cáo của Jenkins (trong quá trình phát hành, nó tạo ra các thẻ của dự án) nó luôn luôn sẽ nhận được giá trị được xác định trong pom.

Tôi sẽ chuyển một đường dẫn mới trong một tham số đặc biệt tại Jenkins tự động sẽ được đặt trong dự án scm pom.

Tôi đã thực hiện một số kiểm tra bằng cách đặt tham số chuỗi trong một tòa nhà được tham số hóa nhưng anh ta không nhận ra các tham số và lỗi đã cho trong quá trình xây dựng.

Một cách khác là để đi qua các "mục tiêu phát hành và các tùy chọn":

-X -Dresume=false release:clean release:prepare release:perform \ 
    -DscmConnection="scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B"-DscmDeveloperConnection = "scm: svn: https ://172.10.10.30/svn/repPortal/branches/2012/Branch_B "scm: validate 

Lỗi vẫn kiên trì ...

Caused by: org.apache.maven.shared.release.ReleaseFailureException: 
    Missing required setting: scm connection or developerConnection must be specified. 

Có cách nào để làm điều này vì vậy mà tôi có thể nói bởi Jenkins?

Trả lời

1

Tôi nhận thấy các thuộc tính được xác định cho các kết nối SCM không chính xác. Thuộc tính để thiết lập kết nối SCM trên dòng lệnh là -Dproject.scm.connection và kết nối nhà phát triển là -Dproject.scm.developerConnection.

+0

Vì vậy, tôi đã thử hướng dẫn sau đây trong jenkins của tôi nhưng nó không sửa đổi thẻ scm được định nghĩa trong tệp pom.xml của tôi: -X -Dresume = false release: phát hành sạch: chuẩn bị phát hành: perform -Dproject.scm.connection = scm: svn: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B -Dproject.scm.developerConnection = scm: svn: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B Có cách nào khác để viết lại cài đặt không? – ricardo

+0

Thêm '-DdryRun = true' không có' release: perform' trong cùng một lệnh. Hãy nhìn vào mớ POMs trung gian tạo ra. Có ai trong số họ nhìn chính xác không? Ngoài ra, hãy xem xét chạy lệnh dryRun này trên dòng lệnh mà không có Jenkins, bạn có nhận được kết quả tương tự không? Cuối cùng nhưng không kém phần quan trọng, phiên bản "maven-release-plugin' 2.3 đã được phát hành ngày hôm qua và họ đã thực hiện một số bản sửa lỗi liên quan đến việc sử dụng SCM, điều đó cũng có thể hữu ích. – user944849

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