Setup Maven dengan Private Nexus Repository

 

Repository Manager

Sebuah repository manager memungkinkan kita untuk menyimpan  dan mengambil build artifacts (misal: jars). Contoh paling populer dari repository manager adalah Maven Central Repository yang mana bisa kita gunakan untuk menyimpan dan mengambil dependencies untuk berbagai Maven build.


Nexus Repository Manager

Dengan menginstal sebuah Nexus pada infra sendiri memberikan  repository private untuk kebutuhan kita/perusahaan kita sendiri. Selain itu juga kita bisa menggunakan Nexus sebagai sebuah proxy untuk  public repositories sehingga lebih menghemat bandwidth. Nexus memberikan kemampuan pada kita untuk menyimpan artifacts yang bersifat private. Nexus tersedia dalam versi komersil dan juga Open Source.


Nexus di Docker





Nexus di Browser







Membuat Repository di Nexus












Integrasi Mavel di Local ke Nexus Repository

Untuk ini kita harus melakukan kustomisasi  maven setting. ada beberapa alasan kita harus melakukan kustomisasi Maven settings:

  • Anda berada dibelakang  firewall atau proxy server.
  • Organisasi anda memiliki internal Maven Repository Manager (kasus kita).
  • Anda ingin mengakses Oracle Maven Repository.

Jika anda baru saja melakukan instalasi Maven, maka anda belum memiliki file settings. Anda harus membuatnya sendiri lalu beri nama dengan settings.xml.

  1. <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
  4. https://maven.apache.org/xsd/settings-1.0.0.xsd">
  5. ...
  6. <servers>
  7. <server>
  8. <id>mynexus</id>
  9. <username>my_login</username>
  10. <password>my_password</password>
  11. <privateKey>${user.home}/.ssh/id_dsa</privateKey>
  12. <passphrase>some_passphrase</passphrase>
  13. <filePermissions>664</filePermissions>
  14. <directoryPermissions>775</directoryPermissions>
  15. <configuration></configuration>
  16. </server>
  17. </servers>
  18. ...
  19. </settings>

Detail info tentang settings.xml

Untuk deploy ke Nexus tambahkan line berikut:

  <distributionManagement>
    <repository>
      <id>mynexus</id>
      <url>http://urlnexus.xxx/nexus/content/repositories/releases</url>
    </repository>
    <snapshotRepository>
      <id>mynexus</id>
      <url>http://urlnexus.xxx/nexus/content/repositories/snapshots</url>
</snapshotRepository> </distributionManagement>

Untuk download devendencies dari Nexus.

  <repositories>
    <repository>
      <id>mynexus</id>
<url>http://your-host:8081/repository/maven-group/</url> </repository> </repositories>

Sumber

https://www.baeldung.com/install-local-jar-with-maven/
https://dzone.com/articles/maven-deploy-nexus
https://help.sonatype.com/repomanager2/staging-releases/configuring-your-project-for-deployment
https://blog.sonatype.com/using-nexus-3-as-your-repository-part-1-maven-artifacts
https://www.vogella.com/tutorials/Nexus/article.html
https://devops.com/integrating-maven-and-nexus-for-continuous-delivery-with-jenkins/
https://wiki.jenkins.io/display/JENKINS/Jenkins+Development+Environment+with+Nexus






Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Numpang Kerja Remote dari Bandung Digital Valley

Cara Decompile berkas Dex dan Apk Android