docker部署一些单机服务运维,自动化集成部署发布

docker 搭建 nexus

2021-01-12  本文已影响0人  虾米咬小米

一、有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva、JFrog的Artifactory和Sonatype的Nexus。而Nexus是当前最流行的Maven仓库管理工具。
 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库。供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从远程仓库下载,缓存在私服上以后,再为Maven的下载请求提供服务。此外,一些无法从外部仓库下载到的构件也能从本地上传到私服上供大家服务。

image.png

二、安装nexus
环境说明

操作系统:centos 7.6

java版本:1.8.0_211

maven版本:3.6.3

docker版本:19.03.5

查找镜像

docker search  nexus

拉取镜像
拉取最新版本,目前最新版本是3.20.1

docker pull sonatype/nexus3

持久化目录

mkdir -p /data/nexus/data
chmod 777 -R /data/nexus/data

启动镜像

docker run -d --name nexus3 -p 8081:8081 --restart always -v /data/nexus/data:/nexus-data sonatype/nexus3

查看日志

docker logs -f nexus3

等待几分钟时间,出现 Started Sonatype Nexus OSS 表示启动好了。

三、访问nexus
打开浏览器,访问 http://192.168.31.183:8081/

点击右侧的登录

image

查看管理员admin密码

 cat /data/nexus/data/admin.password

四、添加阿里云maven代理

点击settings->Repository->Repositories

点击Create repositoty按钮

image

选择maven2 (proxy)

image

填写如下两个字段,分别是代理库的名称,所代理的上层库的url。阿里云url为:http://maven.aliyun.com/nexus/content/groups/public/

image

滚动到页面最下方,点击“Create repositoty”按钮。

image

可以看到刚刚新建的代理库已经存在了。

image

重新配置maven-public组,使其包含新建的aliyun-maven。在如上页面,点击maven-public,进入到配置页面。按下图进行修改。把aliyun-maven移至右侧,并向上移至第一位。然后点击保存。

image

点击左侧菜单Repositoty>Repositories,进入到仓库列表页面,点击maven-public一行的copy按钮,然后复制弹出的url,后面配置maven时需要使用。

image

Maven用到的Repositories说明

maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar

maven-releases:私库发行版jar

maven-snapshots:私库快照(调试版本)jar

maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。

如果不够用,自己也可以根据博文上面的仓库类型进行选用创建。

四、配置maven

修改配置文件

添加服务器认证信息,增加红色部分内容

    <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>abcd1234</password>
    </server>
    <server>
        <id>maven-public</id>
        <username>admin</username>
        <password>abcd1234</password>
    </server>
  </servers>

注意:修改为自己设置的密码。

增加mirrors

 <mirror>
      <id>maven-public</id>
      <name>maven-public</name>
        <url>http://localhost:8081/repository/maven-public/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

注意:修改ip地址为服务器ip

单个项目使用私库:

  <repositories>
        <repository>
            <id>maven-public</id>
            <name>maven-public</name>
            <url>http://10.168.4.75:8081/repository/maven-public/</url>
            <layout>default</layout>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

需要注意的是:局部配置优先于全局配置。 配置优先级从高到低:pom.xml> user settings > global settings

五、仓库没有的jar,可以上传到nexus私服。

回到首页,点击Upload,上传到 maven-relaases,Extension会自动填充

image.png

参考:
https://www.cnblogs.com/knowledgesea/p/11190579.html
https://www.cnblogs.com/xiao987334176/p/12108560.html
https://blog.csdn.net/ThinkWon/article/details/94346681
https://www.cnblogs.com/jingmoxukong/p/6050172.html

上一篇 下一篇

猜你喜欢

热点阅读