如下图,在局域网部署了Nexus之后,可以缓存中央仓库的jar,开发者开发的二方库发布到Nexus上,局域网内的其他人也可以从Nexus下载这些二方库使用:
本次实战是在Linux服务器上通过Docker安装Nexus3:
操作系统:Ubuntu 18.04.3 LTS
Docker:19.03.5
Nexus:3.19.1
安装dockerapt更新:
apt-get update安装curl:
apt-get install -y curl安装docker:
curl -sSL https://get.docker.com | sh安装完成后,检查docker是否正常:
root@hedy:~# docker version Client: Docker Engine - Community Version: 19.03.5 API version: 1.40 Go version: go1.12.12 Git commit: 633a0ea838 Built: Wed Nov 13 07:29:52 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.5 API version: 1.40 (minimum version 1.12) Go version: go1.12.12 Git commit: 633a0ea838 Built: Wed Nov 13 07:28:22 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.10 GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339 runc: Version: 1.0.0-rc8+dev GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 docker-init: Version: 0.18.0 GitCommit: fec3683 部署Nexus3创建工作目录并赋权限:
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data下载Nexus镜像并创建容器:
docker run -d \ -p 8081:8081 \ --name nexus \ -v /usr/local/work/nexus-data:/nexus-data \ sonatype/nexus3:3.19.1上述命令的参数较多,有几点需要注意:
a. 容器的8081端口映射到宿主机的8081端口;
b. 容器名为nexus;
c. 容器的/nexus-data/目录被映射到宿主机的/usr/local/work/nexus-data/;
d. 镜像是sonatype官方的3.19.1版本;
3. 等待容器创建成功后,Nexus3即部署成功;
在控制台执行以下命令,即可获得Nexuse3的初始密码:
echo `docker exec nexus cat /nexus-data/admin.password`我这里得到的是2c9c5399-d0da-48ec-9050-dc4f43cede10
2. 点击下图右上角红框中的Sign in,进入登录页面:
3. 登录页面如下图,账号admin,密码是刚才获取的2c9c5399-d0da-48ec-9050-dc4f43cede10:
4. 登录成功会提示修改密码,如下图,请修改:
5. 是否运行匿名访问,这里勾选上:
角色和账号
在实际使用中,为了安全起见,不能让每个用户使用admin账号,您可以先创建角色,按实际需要给角色增加各种权限,再创建此角色下的账号:
点击下图红框中的按钮,进入设置页面:
下图红框中是角色管理页面的链接,您可以按照实际情况创建角色:
这里为了简化操作就不新建角色了,而是创建一个管理员角色的账号boling_cavalry,操作如下图所示:
至此,Nexus3部署完毕,接下来验证Nexus能否提供jar缓存的功能;
准备两台电脑验证Nexus服务接下来验证的是Nexus缓存中央仓库jar包的能力,看看有了Naxus,能否让我们在开发和构建过程中更快的下载到所需jar;
另外准备两台电脑,分别是A电脑和B电脑,用来验证刚刚部署的Nexus3可以缓存中央仓库的jar包(您也可以用虚拟机创建两台电脑);
A、B两台电脑都已经装好了JDK8和Maven3;