Cách triển khai thủ công các cấu phần phần mềm trong Nexus Repository Manager OSS 3


76

Sau khi cài đặt Nexus 3 OSS Trình quản lý kho lưu trữ, tôi không thấy tùy chọn Artifact Uploadtải lên các phần mềm tạo tác thông qua trang web.

Trong Nexus Repository Manager OSS 2.13, có tùy chọn để thực hiện thao tác đó.

Bất kỳ ai cũng có thể chỉ cho tôi cách tải phần mềm lên kho lưu trữ được lưu trữ trong Nexus 3 được không?

CHỈNH SỬA : Từ phiên bản 3.9.0, chức năng này được triển khai.


1
Trong câu trả lời của tôi ở đây, tôi đã giải thích cả hai cách tiếp cận - cho http và https.
grajsek

17
tại sao họ lại bỏ đi phần chức năng thiết yếu này?
Kees de Kooter

8
Vì GUI tải lên vẫn không phải là một phần của Nexus 3, chúng tôi đã tạo ra một giải pháp nhẹ để cung cấp giao diện còn thiếu. Bạn có thể lưu trữ một trang html trong một kho lưu trữ thô của phiên bản Nexus3 của mình và khi bạn truy cập trang đó từ trình duyệt, nó sẽ cung cấp GUI tải lên tương tự như trong Nexus2. Dự án có thể được tìm thấy trên GitHub với tài liệu chi tiết. Phiên bản được phát hành tại thời điểm câu trả lời này cũng hỗ trợ kiểu GAV và tải lên thô.
István Rábel

Câu trả lời:


26

Điều này được triển khai trong Nexus kể từ Phiên bản 3.9.0.

  • Đăng nhập
  • Chọn Tải lên

nhập mô tả hình ảnh ở đây

  • Điền vào biểu mẫu và tải lên Phần mềm

nhập mô tả hình ảnh ở đây


Chúng tôi đã cài đặt 3,7 và ma trận tính năng cho biết điều này sẽ tồn tại (hiện tại là 3,10). Tôi đã phát điên khi cố gắng tìm ra cách nó được thực hiện. Câu trả lời này rất hữu ích. Tôi sẽ bỏ phiếu cho bạn 10 lần nếu tôi có thể.
John Glassman

Kho lưu trữ Bower (được lưu trữ) không có tính năng tải lên: /
Arkadi

@tobias giá trị tiêu biểu cho tiện ích mở rộng là gì?
Varun Verma

@Varun Verma phần mở rộng tên tệp, ví dụ: jar
17hao

71

Tôi đang sử dụng tệp triển khai maven.

mvn deploy:deploy-file -DgroupId=my.group.id \
    -DartifactId=my-artifact-id \
    -Dversion=1.0.0.1 \
    -Dpackaging=jar \
    -Dfile=foo.jar \
    -DgeneratePom=true \
    -DrepositoryId=my-repo \
    -Durl=http://my-nexus-server.com:8081/repository/maven-releases/

CẬP NHẬT: Như đã nêu trong nhận xét sử dụng dấu ngoặc kép trong url gây ra NoSuchElementException

Nhưng tôi đã thêm cấu hình máy chủ trong maven của mình (~ / .m2 / settings.xml).

<servers>
  <server>
    <id>my-repo</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

Người giới thiệu:

Maven Apache - Hướng dẫn các lọ bên thứ 3


Tôi có phải kích hoạt hoặc cài đặt bất kỳ thứ gì để triển khai như vậy không? Tôi gặp các lỗi sau khi thử: Ngày 29 tháng 11 năm 2016 11:27:31 AM org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec thực thi INFO: I / O ngoại lệ (java.net.SocketException ) bị bắt khi xử lý yêu cầu tới {} -> 127.0.0.1:8081 : Đường ống bị hỏng, v.v.
Eray Tuncer

Không. Chỉ là maven thuần chủng. Bạn có proxy không? Có lẽ bạn cần bỏ qua localhost / 127.0.0.1 ở đó / hoặc ip và cổng này có đúng không? Tôi sẽ tìm kiếm các loại thức ăn khó tiêu khác để giải quyết vấn đề này.
bpedroso

1
@ErayTuncer Trong ví dụ của tôi, tôi đã xác thực bằng nexus 3. Bạn có thể vượt qua dấu vết ngăn xếp đầy đủ không?
bpedroso

7
Để loại bỏ NoSuchElementException: loại bỏ các dấu ngoặc kép khỏi giá trị của công tắc -Durl. Tôi đã mất 2 giờ tìm kiếm.
SandorRacz

1
đừng quên bọc đoạn mã "máy chủ" này vào phần tử "<settings> </settings>" nếu bạn đang tạo tệp settings.xml mới. nếu không phần này sẽ bị bỏ qua một cách im lặng.
Alex


26

Bạn có thể tải lên các tạo tác thông qua khả năng xuất bản gốc của chúng (ví dụ: triển khai maven, xuất bản npm).

Bạn cũng có thể tải các phần mềm tạo tác lên kho "thô" thông qua một yêu cầu cuộn tròn đơn giản, ví dụ:

curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'

2
Có, tôi có thể làm điều này bằng cách mvn deployvà nó hoạt động hoàn hảo nhưng tôi không nhận ra rằng họ đã loại bỏ Artifact Uploadtùy chọn mới nhấtNexus .
Paweł Głowacz

1
@ PawełGłowacz vấn đề Jira cho chức năng tải lên trong 3.x là ở đây: Problem.sonatype.org/browse/NEXUS-10121
mvreijn

Đọc tập tin người đàn ông của curl về công tắc --fail - nó không an toàn
caduceus


1

Nhóm của tôi sử dụng GradleNexus OSS 3.5.2 ,

Tôi đã tìm thấy giải pháp : tải lên artyfacts từ locakhost (tôi đã kiểm tra tài liệu của Nexus và không tìm thấy bất cứ điều gì về việc tải lên tạo tác từ các thư mục) => Tôi đã chia sẻ thư mục (sử dụng Apache httpd ) và kết nối một thư mục để tạo kho proxy Nexus mới. Bây giờ khi tôi muốn thêm đồ tạo tác của riêng mình tôi có thể tải lên thư mục chia sẻ trong máy chủ từ xa của mình.

Có thể ai đó thấy giải pháp của tôi hữu ích: nhập mô tả hình ảnh ở đây

Câu hỏi của tôi là ở đây : Có thể triển khai tạo tác từ thư mục cục bộ trong Sonatype Nexus Repository Manager 3.x


1

Cho cửa sổ:

mvn deploy:deploy-file -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.7 -Dpackaging=jar -Dfile=joda-time-2.7.jar 
-DgeneratePom=true -DrepositoryId=[Your ID] -Durl=[YourURL]

0

Để sử dụng mvn deploy: deploy-file, phải thêm ~. / M2 / settings.xml

<settings>
  <servers>
    <server>
      <id>nexus-repo</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>

chỉ huy:

mvn deploy:deploy-file -DgroupId=com.example \
                                       -DartifactId=my-app \
                                       -Dversion=2.0.0 \
                                       -Dpackaging=jar \
                                       -Dfile=my-app.jar \
                                       -DgeneratePom=true \
                                       -DrepositoryId=nexus-repo \
                                       -Durl=http://localhost:8081/repository/maven-releases/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.