Nexus在手,私有仓库全都有,目前行业里常用的仓库neuxs3基本都已支持,可以说只需要搭建一个nexus,就能解决了开发过程中涉及到的所有私有仓库或镜像需求。

安装

  1. Docker方式

mkdir -p /home/docker/volumes/nexus/nexus-data && chown -R 200 /home/docker/volumes/nexus/nexus-data

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 --name nexus -e NEXUS_CONTEXT=nexus -v /home/docker/volumes/nexus/nexus-data:/nexus-data
--restart=always sonatype/nexus3:3.16.2
Note
默认用户名: admin / admin123,第一次进去后记得修改掉。

用户设置

  1. 本地用户 配置位置:Administration → Security → Users

  2. LDAP用户

    1. 配置LDAP服务 Administration → Security → LDAP

      1. Crete Connection

        • Search base:dc=,dc=com

        • Authentication method: Simple Authentication

        • Username or DN:管理员dn

        • Password:管理员密码

      2. user and group

        • Base DN: 不包含search DN

        • User subtree: 如果有组织结构,勾选,如果只有用户列表,则不勾选

        • Object class: inetOrgPerson

        • User filter: uid=*

        • User ID attribute: uid

        • Real name attribute: cn

        • Email attribute: mail

        • Password attribute: 不要设置

        • Map LDAP group as roles: 不适用角色

    2. 开启LDAP验证 Administratio → Security → Realms → LDAP Bearer Token realm

安全设置

  • 去掉匿名访问:取消勾选`administration→security→Anonymous→Allow anonymous users to access the server `

  • 去掉匿名pull:仓库勾选`force basic authentication`

磁盘空间设置

迭代开发过程中会有大量中间过程的仓库文件,所以一定要配置一下磁盘限制和清理,否则nexus会很快就把磁盘空间给填满。

  1. 磁盘限额,每个仓库都独立一个Blob stores,对Blob设置最大磁盘空间

  2. 定时清理,设置定时任务清理无用的仓库文件,功能入口: System → Tasks。主要设置如下几个:

    1. Docker - Delete unused manifests and images

    2. Docker - Delete incomplete uploads

    3. Admin - Compact blob store