一、为什么要搭建Nexus服务?
有时候我们在工作的时候会用到公司自己的jar包,这种时候,我们并不能通过像阿里的镜像仓库一样下载到需要用到的jar包,然通过手动导入jar包到我们本地的maven仓库只能解一时之需,当有很多人需要编辑同一个工程的时候,会有很多不必要的操作,因此,使用私服搭建maven仓库就显得尤为重要。
二、CentOS下安装Docker
使用yum安装
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r
命令查看你当前的内核版本
由于Docker分为CE(社区免费版)和EE(企业版),所以这里将介绍社区免费版本的安装方法。
如果你的机器中存在旧版本的Docker,只需要执行以下命令来移除旧版本的Docker即可:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
然后我们需要安装一些系统必要的工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存:
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
测试运行 hello-world
docker run hello-world
当出现上图的画面的时候就表示Docker安装成功了
三、使用Docker启动Nexus服务
使用Docker启动Nexus服务就非常简单了,只需要两行命令就可以了
docker pull sonatype/nexus3
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
然后确保我们的服务器关闭了8081防火墙限制,执行
curl http://localhost:8081
知道出现了如下提示,则表示,我们成功启动了Nexus服务
然后我们就可以在本地浏览器访问服务器即可了
四、配置用户权限
用户名: admin
默认密码: admin123
我们在登录后可以修改密码,然后配置匿名使用 NuGet API-Key Realm
才能访问即可,这样用户就必须使用用户名和密码才能访问我们私有的maven仓库了。
添加权限
我们在选择权限的时候可以只选择如下三个权限:
添加用户
将 Status
设置为 Active
,权限设置为我们刚才创建的权限即可
五、添加第三方仓库
选择 Repositories
-> create repository
-> maven2(hosted)
即可
然后将这个第三方库归并到 maven-public
下管理
六、配置maven-setting.xml
<servers>
<server>
<id>maven-public</id>
<username>刚才配置的用户名</username>
<password>刚才配置的密码</password>
</server>
</servers>
<mirrors>
</mirrors>
<profiles>
<profile>
<id>JDK1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<encoding>UTF-8</encoding>
</properties>
</profile>
<profile>
<id>center</id>
<repositories>
<repository>
<id>maven-public</id>
<name>maven-public</name>
<url>http://服务器地址:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>edas.oss.repo</id>
<repositories>
<repository>
<id>edas-oss-central</id>
<name>taobao mirror central</name>
<url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>edas-oss-plugin-central</id>
<url>http://edas-public.oss-cn-hangzhou.aliyuncs.com/repository</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>center</activeProfile>
<activeProfile>edas.oss.repo</activeProfile>
</activeProfiles>
这样我们就能让阿里的maven仓库镜像和我们的私服共同使用了