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
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.
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
- https://maven.apache.org/xsd/settings-1.0.0.xsd">
- ...
- <servers>
- <server>
- <id>mynexus</id>
- <username>my_login</username>
- <password>my_password</password>
- <privateKey>${user.home}/.ssh/id_dsa</privateKey>
- <passphrase>some_passphrase</passphrase>
- <filePermissions>664</filePermissions>
- <directoryPermissions>775</directoryPermissions>
- <configuration></configuration>
- </server>
- </servers>
- ...
- </settings>
Detail info tentang settings.xml
<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
Post a Comment