Nexus có một số loại kho: tổ chức kho (những người thực sự lưu trữ hiện vật maven), Proxy kho (mà chuyển hướng truy cập kho từ xa khác khi một artifact được yêu cầu), kho ảo (vỏn vẹn adapter của kho lưu trữ maven1 [trong phạm vi của câu hỏi này]). bạn cũng có thể tạo các nhóm kho lưu trữ có thể phân phối các tạo phẩm từ bất kỳ tập hợp nào của nó (kho lưu trữ public
là một trong các nhóm này).
Ngoài ra, nexus chia kho lưu trữ của họ theo chính sách xuất bản thành ảnh chụp nhanh và bản phát hành. Các cửa hàng trước đây chỉ có hiện vật ảnh chụp nhanh; trong khi sau này, về mặt lý thuyết, có thể lưu trữ cả ảnh chụp nhanh và bản phát hành, nhưng nó thực sự hoạt động lỗi khi repo rất lớn và chứa ảnh chụp nhanh.
Để đăng cai vật của bạn, bạn cần phải:
Đầu tiên: Chia kho địa phương của bạn thành hai: một chứa các bức ảnh chụp, và một người khác có chứa các phiên bản. Nexus công cụ chuyển đổi kho sẽ giúp bạn nếu repo của bạn là rất lớn:
<dependency>
<groupId>org.sonatype.nexus.tools</groupId>
<artifactId>nexus-repository-conversion-tool</artifactId>
<version>1.8.0.1</version>
<classifier>cli</classifier>
</dependency>
Khi downlaoded bạn chỉ có thể thực hiện java -jar nexus-repository-conversion-tool-1.8.0.1-cli.jar -rSource -oTarget
nơi Source
là thư mục có chứa các kho lưu trữ địa phương để chuyển sang mối quan hệ, và Target
là một hiện có, trống rỗng và thư mục có thể ghi, nơi công cụ hội tụ sẽ rời khỏi kho lưu trữ được chia nhỏ. Miễn là thư mục nguồn là repository
và Mục tiêu là temp
, nó sẽ tạo ra các thư mục temp/repository-snapshots
và temp/repository-releases
.
Thứ hai: chuyển repos được chia nhỏ của bạn thành nexus. Và để chúng trong ${NEXUS_HOME}/sonatype-work/nexus/storage
hoặc bất cứ nơi nào cài đặt nexus của bạn được định cấu hình để lưu trữ các kho lưu trữ.
Thứ ba: tạo hai vị trí lưu trữ được lưu trữ với cùng id như repos bạn đã di chuyển ở bước thứ hai. (trong ví dụ repository-snapshots
và repository-releases
)
Nếu repo của bạn chỉ chứa bản phát hành, giải pháp của bạn có thể đã hoạt động, nhưng bạn sẽ phạm một sai lầm khác.Mặc dù nexus lưu trữ các tạo phẩm cho mỗi kho lưu trữ, lưu trữ của những người không được lưu trữ repo chỉ dành cho mục đích lưu trữ (như trong trường hợp của kho lưu trữ public
), bạn sẽ phải sao chép nội dung của mình vào một lưu trữ để hoạt động.
Bạn cũng phải xem xét loại hiện vật nào bạn đang lưu trữ trong kho lưu trữ của mình. Nexus phân chia các kho lưu trữ thành các bản mở rộng và phát hành tùy thuộc vào thời tiết mà nó lưu trữ các ảnh chụp nhanh hoặc phát hành + ảnh chụp nhanh. Mặc dù nó sho – Miguel
Ồ, tôi đọc câu trả lời của bạn quá muộn. Cách tiếp cận của bạn sẽ giúp tôi tiết kiệm rất nhiều thời gian, tôi đoán vậy. Tôi cũng đã tách các ảnh chụp nhanh và phát hành và sau đó tự di chuyển chúng đến các kho lưu trữ Nexus tương ứng. Tôi bằng cách nào đó đã phải triển khai mỗi tạo phẩm phát hành bằng cách sử dụng cli. Đối với ảnh chụp nhanh, nó đã đủ để tái lập chỉ mục bộ nhớ cache của Nexus. Cảm ơn! – mamuesstack