Chúng tôi đã sử dụng Ivy trong một vài tháng và có tổ chức riêng của chúng tôi "Ivy Repo" trên một máy chủ web ở đây trong văn phòng. Tất cả các dự án của chúng tôi được cấu hình để đi đến repo này để giải quyết các phụ thuộc.Ivy: Giải quyết và xuất bản JARs cục bộ
Chúng tôi có một số loại JAR "commons" được nhiều dự án của chúng tôi sử dụng. Bởi vì điều này, và bởi vì chúng tôi chỉ có 1 repo, chúng tôi đang tìm thấy rất nhiều chi phí xấu xí đến từ kịch bản sau đây:
- Một nhà phát triển được giao nhiệm vụ thêm tính năng vào Project 1 (phụ thuộc vào một cái bình thường)
- trong quá trình phát triển dự án 1, các nhà phát triển nhận ra anh/cô ấy cần phải thay đổi các jar Common
- thay đổi jar chung được thực hiện
- jar chung phải trải qua xem xét mã và bình thường mã khuyến mãi
- Tạo bản chính xuất bản mới Bình chung
- Dự án 1 có thể tiếp tục phát triển ngay bây giờ Bình thường đã được cập nhật
Điều này trở nên vô lý và gây đau đớn cho nhóm của chúng tôi.
Với tôi, giải pháp hiển nhiên là cung cấp các mục tiêu kiến trong mỗi dự án cho phép nhà phát triển xuất bản/giải quyết cục bộ (đến và từ hệ thống tệp của họ). Bằng cách đó họ có thể phá vỡ các bình thường 9 cách để chủ nhật, nhưng mà không mất 2 - 4 ngày trong khi chờ đợi chung để được xuất bản. Bằng cách này, nhà phát triển thực hiện các thay đổi cục bộ cho cả Dự án 1 và Chung và mã sẽ trải qua quá trình xúc tiến của chúng tôi cùng một lúc.
Tôi biết điều này là có thể với Ivy, nhưng tôi rất mới với nó tôi thậm chí sẽ không biết bắt đầu từ đâu.
Hiện tại chúng tôi sử dụng tệp toàn cầu ivy.settings
cho tất cả các dự án. Trong tệp cài đặt, chúng tôi sử dụng giải pháp chuỗi có 1 trình phân giải url bên trong, kết nối với "ivy repo" của chúng tôi.
tôi tin sau đây là sự thay đổi duy nhất mà sẽ là cần thiết, nhưng tôi không chắc chắn 100%:
- Trong
ivy.settings
chúng tôi sẽ cần phải thêm một địa phương hệ thống tập tin phân giải trước sự trình phân giải url được gọi; Bằng cách này chúng tôi kiểm tra hệ thống tập tin địa phương cho phụ thuộc trước khi chuyển sang các repo ivy (web server) - Configure mỗi
ivy.xml
với một lựa chọn dự án nào đó cho phép bộ nhớ cache địa phương xuất bản - Tweak Ant xây dựng để có một mục tiêu
publish-locally
rằng bài tập tùy chọn nêu trên
tôi tin những thay đổi này sẽ cho phép chúng tôi: (1) luôn nhìn cục bộ cho phụ thuộc trước khi tìm đến máy chủ web, (2) công bố tại địa phương như là một lựa chọn xây dựng (mục tiêu).
Nếu điều này không đúng hoặc nếu tôi thiếu bất kỳ bước nào, hãy vui lòng thông báo! Nếu không, tôi có thể tìm ra cách thêm trình phân giải hệ thống tệp từ tài liệu Ivy, nhưng không biết làm thế nào để có được mục tiêu publish-locally
hoạt động. Bất kỳ ý tưởng? Cảm ơn trước!