Nexus 私有仓库安装部署
介绍
Nexus Repository Manager是由Sonatype开发的一款强大的仓库管理器,用于管理软件组件和构建工件。它提供了一个集中式存储库,可以用来存储和分发各种构建工件,如JAR、WAR、Docker镜像、npm软件包等。Nexus Repository Manager有两个主要版本:Nexus Repository Manager 2和Nexus Repository Manager 3。
一些Nexus Repository Manager的主要特点包括:
- 存储和管理软件构建物件:Nexus允许您在一个中心位置存储和管理各种构建工件,确保团队成员可以方便地访问和共享这些工件。
- 安全性:Nexus提供了强大的安全功能,包括访问控制、权限管理、漏洞扫描等,以确保您的软件构建物件的安全性。
- 代理和缓存:Nexus可以代理远程存储库,从而加快构建过程并减少对外部存储库的依赖。它还可以缓存远程存储库中的工件,以提高访问速度。
- 支持多种软件包管理器:Nexus支持多种软件包管理器,包括Maven、npm、Docker、NuGet等,使其成为跨平台和多语言项目的理想选择。
- 用户友好的界面:Nexus提供直观的用户界面,使用户可以轻松地搜索、浏览和管理存储库中的工件。
1. 创建工作目录
$ mkdir -p /data/nexus/data
$ chmod 777 -R /data/nexus/data
编写docker-compose 文件
$ cd /data/nexus
$ vim docker-compose.yml
version: '3'
services:
nexus3:
image: sonatype/nexus3:3.67.0
restart: always
container_name: nexus3
ports:
- 8111:8081
- 8112:8082
- 8113:8083
volumes:
- /etc/localtime:/etc/localtime
- ./data:/nexus-data
2. 查看 Nexus 初始密码
$ docker exec -it nexus3 /bin/sh
sh-4.4$ cat /opt/sonatype/sonatype-work/nexus3/admin.password
3. nexus 仓库配置
3.1 设置账号密码
3.2 启用匿名访问
4. 将依赖推送至 Nexus 仓库
- pom.xml
<distributionManagement>
<repository>
<id>release-nexus</id>
<url>http://192.168.253.146:8111/repository/maven-releases/</url>
<name>nexus私服中宿主仓库->存放/下载稳定版本的构件</name>
</repository>
<snapshotRepository>
<id>snapshot-nexus</id>
<url>http://192.168.253.146:8111/repository/maven-snapshots/</url>
<name>nexus私服中宿主仓库->存放/下载快照版本的构件</name>
</snapshotRepository>
</distributionManagement>
- 需在settings.xml中设置密码
$ vim /usr/local/apache-maven-3.9.6/conf/settings.xml
<servers>
<server>
<id>release-nexus</id>
<username>admin</username>
<password>admin@123456</password>
</server>
<server>
<id>snapshot-nexus</id>
<username>admin</username>
<password>admin@123456</password>
</server>
</servers>
4.1 推送快照依赖
- pom.xml
<groupId>com.gazgeek</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
$ mvn deploy
4.2 推送稳定依赖
- pom.xml
<groupId>com.gazgeek</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1</version>
$ mvn deploy
5. 配置从 Nexus 仓库中拉取依赖
5.1 全局配置
配置maven私有源,且关闭 maven-default-http-blocker
,这个maven-nexus组创建时允许匿名访问,所以拉取依赖无需配置账号密码
$ vim /usr/local/apache-maven-3.9.6/conf/settings.xml
<mirrors>
<!-- 配置私有nexus仓库,因为设置了允许匿名访问,所以无需配置账号密码 -->
<mirror>
<id>maven-nexus</id>
<name>Public Repositories</name>
<url>http://192.168.253.146:8111/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
<!-- 注释默认配置
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
-->
</mirrors>
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
运维小记!
喜欢就支持一下吧
打赏
微信
支付宝