2013-01-14 14 views
5

Tôi có một Gradle multiproject được lưu trữ trong Mercurial repo. Tôi muốn thiết lập Jenkins của mình theo cách như vậy, nếu tôi cam kết thay đổi thành chỉ 1 tiểu dự án, thì chỉ có tiểu dự án đó mới được xây dựng và xuất bản cho repo Nexus của tôi.Xây dựng Gradro multipleject trên Jenkins

Ai đó có thể cho tôi gợi ý không? Hoặc là nó ở tất cả có thể?

Trả lời

0

Rời giải pháp cuối cùng của chúng tôi cho tương lai tại đây.

Chúng tôi đã tạo một công việc Jenkins riêng cho từng tiểu dự án. Plugin Mercantial của Jenkins cho phép chỉ định "mô-đun":

Giảm các bản dựng không cần thiết bằng cách chỉ định danh sách phân cách bằng dấu phẩy hoặc không gian trong kho. Nếu trường này được thiết lập, các thay đổi bên ngoài các mô-đun được chỉ định sẽ không kích hoạt một bản dựng (mặc dù toàn bộ kho lưu trữ được kiểm tra ra do hạn chế Mercurial.)

Bằng cách này, công việc của chúng tôi chỉ được kích hoạt khi thay đổi xảy ra trong tiểu dự án giám sát.

0

Tôi đoán bạn cần phải tạo một dự án trong jenkins cho từng tiểu dự án.

Tùy chọn khác sẽ là để tìm xem có cách nào để chặn đồng bộ hóa lại và xem dự án đã thay đổi không và thực hiện xây dựng động.

2

Chúng tôi sắp xếp công việc này.

Chúng tôi tạo một dự án trong Jenkins cho từng tiểu dự án gradle. Và trong cấu hình Jenkins chúng tôi xây dựng chỉ có tiểu dự án bằng cách làm một cái gì đó như:

gradle clean :<subproject>:build 

Chúng tôi vẫn có những vấn đề mà công việc là bắn cho tất cả checkins cho toàn bộ dự án . Tôi sẽ cấu hình Jenkins để xây dựng chỉ khi có checkin cho tiểu dự án, nhưng không biết làm thế nào để xác định điều này.