DevOps(十七)在Ubuntu上安装Nexus配置Maven仓库

66 篇文章 3 订阅
59 篇文章 0 订阅

在 Ubuntu 20.04 上安装 Nexus Repository Manager 是一个直接的过程,可以通过以下几个步骤来完成。Nexus Repository Manager 是一个流行的仓库管理工具,用于存储和分发软件包,例如 Maven、npm 和 Docker 镜像等。

一、安装Nexus

 1、 安装 Java

Nexus 需要 Java 运行,所以第一步是确保你的系统上安装了 Java。Nexus 通常需要 Java 8 或更高版本。你可以通过运行以下命令来安装 OpenJDK 11:

sudo apt update
sudo apt install openjdk-11-jdk

安装后,你可以通过运行以下命令来验证 Java 是否安装成功:

java -version

 2、 下载 Nexus

你可以从 Sonatype 网站下载最新的 Nexus Repository Manager。选择 Community Edition 的 tar.gz 文件。你可以使用 wget 命令来下载:

cd /opt
sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

 3、 解压 Nexus

下载完成后,使用以下命令解压缩文件:

sudo tar -xvzf latest-unix.tar.gz

解压后,会创建一个新的目录,例如 nexus-3.x.x-xx 和 sonatype-work。可以重命名这个目录以便更易于管理:

sudo mv nexus-3.x.x-xx nexus

4、创建 Nexus 用户

为了安全和效率的考虑,最好为运行 Nexus 创建一个专用用户:

sudo adduser nexus
sudo chown -R nexus:nexus /opt/nexus
sudo chown -R nexus:nexus /opt/sonatype-work

5 、配置和启动 Nexus

编辑 Nexus 的启动脚本配置,使其以 nexus 用户身份运行。打开 /opt/nexus/bin/nexus.rc 文件,设置运行用户:

sudo nano /opt/nexus/bin/nexus.rc

在文件中添加:

run_as_user="nexus"

接下来,设置 Nexus 作为服务启动。创建一个 systemd 服务文件:

sudo nano /etc/systemd/system/nexus.service

在文件中添加以下内容:

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
User=nexus
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Restart=on-abort

[Install]
WantedBy=multi-user.target

保存并关闭文件。然后,启用并启动 Nexus 服务:

sudo systemctl enable nexus
sudo systemctl start nexus

 6、 访问 Nexus

Nexus 启动后,默认在 8081 端口监听。你可以通过浏览器访问 Nexus:

http://your-server-ip:8081

初次访问需要完成设置向导,设置管理员密码和相关配置。

以上就是在 Ubuntu 20.04 上安装 Nexus Repository Manager 的步骤。确保你的服务器配置足以支持 Nexus 的运行,尤其是有足够的内存和 CPU 资源。

二、配置Maven仓库

在安装完成 Nexus Repository Manager 后,配置 Maven 仓库是一个常见的步骤,以便在 Maven 项目中使用 Nexus 作为依赖管理和仓库托管的解决方案。以下是配置 Maven 仓库的基本步骤:

1、 登录 Nexus

首先,通过浏览器访问 Nexus 界面:

http://your-server-ip:8081

使用默认的管理员账号登录(通常为 admin),密码在初始安装完成后通常会被提示修改。

2、 创建 Maven 仓库

  • 创建 hosted 仓库(用于存储内部产生的构件):

    • 在 Nexus 界面上,点击左侧的 "Repositories"。
    • 点击 “Create repository” 按钮。
    • 选择 “maven2 (hosted)”。
    • 填写仓库名称,例如 maven-releases
    • 在 Version policy 中选择 Release
    • 修改其他设置(如需要),然后点击 “Create repository” 保存。
  • 创建 proxy 仓库(用于代理远程仓库,如 Maven Central):

    • 重复上述步骤,但选择 “maven2 (proxy)”。
    • 填写仓库名称,例如 maven-central
    • 在 Remote storage 中填写远程仓库地址,例如 Maven Central 的地址 https://repo1.maven.org/maven2/
    • 在 Version policy 中选择 Release
    • 点击 “Create repository”。
  • 创建 group 仓库(将多个仓库组合在一起):

    • 重复上述步骤,但选择 “maven2 (group)”。
    • 填写仓库名称,例如 maven-public
    • 在成员仓库部分,添加之前创建的 maven-releases 和 maven-central 到列表中。
    • 点击 “Create repository”。

3、 配置 Maven 使用 Nexus

为了使 Maven 项目能使用 Nexus 仓库,需要在 Maven 的配置文件 settings.xml 中指定仓库。这个文件通常位于 ~/.m2/ 文件夹内。

  • 编辑 settings.xml
    • 打开或创建 ~/.m2/settings.xml 文件。
    • 添加以下配置以使用 Nexus:
<settings>
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://your-server-ip:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://your-server-ip:8081/repository/maven-public/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://your-server-ip:8081/repository/maven-public/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>

这里,url 需要替换成您配置的 Nexus 服务器地址。确保 maven-public 是您在 Nexus 中配置的 Maven 组仓库的名称。

4、 测试配置

  • 清理本地 Maven 仓库(可选,用于测试):
    • 运行 mvn -U clean install 来更新所有依赖。
  • 检查构建是否成功,并确认构建过程中的依赖是通过 Nexus 下载的。

通过这些步骤,您的 Nexus 就配置好了 Maven 仓库,可以开始在项目中使用 Nexus 来管理和

提供 Maven 依赖了。

5、 使用 Nexus 进行项目构建

当 Nexus 和 Maven 配置完成后,您可以开始在项目中使用 Nexus 管理的 Maven 仓库来构建项目。这不仅可以提高依赖管理的效率,还可以确保团队成员之间的依赖版本一致性。

  • 在项目的 pom.xml 中添加依赖

    • 您可以像往常一样添加 Maven 依赖。当您运行 Maven 命令时,Maven 会首先检查本地仓库,如果找不到所需的依赖,会通过配置的 Nexus 仓库去下载。
  • 执行 Maven 命令

    • 使用常规 Maven 命令来构建您的项目,例如:
      mvn clean install
      
    • Maven 将解析 settings.xml 中的配置,并通过 Nexus 仓库来解决依赖。

6、 管理 Nexus

在 Nexus 成功配置并投入使用后,您可能还需要进行一些常规的管理工作,例如:

  • 管理用户和访问控制

    • Nexus 提供了强大的安全和访问控制选项,您可以创建多个用户账户,并为不同的团队或个人分配不同的权限。
  • 监视仓库健康

    • Nexus 提供了监控和日志记录功能,这可以帮助您跟踪仓库的状态和性能。您可以定期检查这些日志来确保一切正常。
  • 备份重要数据

    • 定期备份您的 Nexus 数据是非常重要的。这包括仓库中的数据和 Nexus 的配置。您可以使用自动化脚本来定期备份这些数据到一个安全的位置。
  • 更新和维护

    • 保持 Nexus Repository Manager 的更新是保证系统安全和高效的重要部分。定期检查更新,并按计划执行更新。

通过以上步骤,您已经成功设置了 Nexus 与 Maven 的整合,为您的开发工作提供了一个强大的工具。这将有助于提高代码的可重用性,加快开发过程,并确保项目依赖的一致性和可控性。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder加油!

感谢您的认可和支持!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值