Nexus 的使用可以分为几步,包括安装、配置仓库、上传/下载构件等,以下是一个基本的使用流程介绍:

1. 安装 Nexus

Nexus 有两种常见版本:

  • Nexus Repository OSS:免费开源版本,适合大多数中小型团队。
  • Nexus Repository Pro:企业级版本,提供更多高级功能如权限控制和集群部署。

安装步骤:

  1. 下载 Nexus Repository OSS 版本(或 Pro 版本):
  2. 解压安装包,并运行 Nexus:
    ./nexus start
    
  3. 默认 Nexus Web UI 可以通过 http://localhost:8081 访问。
  4. 使用初始的管理员账户登录:
    • 用户名:admin
    • 密码:在 Nexus 安装目录中的 admin.password 文件里。

2. 配置仓库

Nexus 可以托管多种类型的仓库,如 Maven、npm、Docker、NuGet 等。通常会配置以下几种仓库类型:

  • Hosted(托管仓库):用于存储私有的构件。
  • Proxy(代理仓库):代理远程公共仓库,例如 Maven Central。下载的依赖会缓存到 Nexus 本地,以加快后续请求。
  • Group(组仓库):将多个仓库组合成一个逻辑仓库,简化管理。

配置步骤:

  1. 登录 Nexus Web UI 后,进入 “Settings”(设置) > “Repositories”(仓库)
  2. 点击 “Create repository”(创建仓库),选择仓库类型(例如 Maven Hosted 或 npm Hosted)。
  3. 配置仓库名称、存储路径等信息,并保存。

3. 上传构件

你可以通过多种方式将构件上传到 Nexus 仓库。常用的方法包括:

  • 使用 Maven 或 Gradle 上传构件。
  • 通过 Nexus UI 上传构件

使用 Maven 上传:

  1. 在项目的 pom.xml 文件中添加 Nexus 仓库地址:
    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <url>http://localhost:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>
    
  2. 执行 Maven deploy 命令将构件上传:
    mvn clean deploy
    

通过 Nexus UI 上传:

  1. 打开 Nexus Web UI,进入 “Upload”(上传) 页面。
  2. 选择目标仓库,上传构件(如 JAR、npm 包等)。

4. 下载构件

下载构件可以通过配置构建工具(如 Maven 或 npm)使用 Nexus 仓库地址,也可以通过 Nexus 的 Web UI 手动下载。

使用 Maven 下载依赖:

  1. 在项目的 pom.xml 中配置 Nexus 仓库地址:
    <repositories>
        <repository>
            <id>nexus-releases</id>
            <url>http://localhost:8081/repository/maven-releases/</url>
        </repository>
    </repositories>
    
  2. 执行 mvn clean install 命令,Maven 会自动从 Nexus 下载所需依赖。

通过 Nexus UI 下载:

  1. 在 Nexus Web UI 中,进入目标仓库。
  2. 搜索并选择需要的构件,点击下载链接即可。

5. 管理仓库权限

Nexus 提供了细粒度的权限管理,管理员可以为不同的用户或用户组配置访问权限。

配置用户权限:

  1. 进入 Nexus Web UI 的 “Settings”(设置) > “Security”(安全) > “Users”(用户)
  2. 创建新用户或编辑现有用户,配置其角色和权限。

6. 常见使用场景

  • 缓存远程仓库:通过配置代理仓库,缓存来自远程公共仓库的依赖,以减少网络请求并提高构建速度。
  • 部署内部构件:使用 Nexus 托管公司内部的构件,确保项目之间共享依赖,保持版本一致性。
  • 权限控制:在大型项目中,确保只有授权用户才能上传/下载构件,保证构件的安全性。

通过 Nexus 的这些基本操作,团队可以高效地管理构建过程中的依赖和构件。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐