CentOS 7搭建nexus私服仓库

Posted Dream_it_possible!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7搭建nexus私服仓库相关的知识,希望对你有一定的参考价值。

目录

Nexus简介

一、安装nexus

二、将nexus添加为service

三、使用Nexus创建仓库

1、创建一个代理仓库

2、查看私服连接

3、配置pom.xml

4、配置maven的settings.xml 


Nexus简介

        Nexus是一款开源的仓库管理软件,我们可以借助nexus搭建一个私有的依赖(jar)仓库, 并且我们可以手动将jar 传到nexus上, 由nexus帮你生成maven坐标,管理方便。

一、安装nexus

下载 nexus安装包, 我用的是3.19.1版本:

 丢到centos服务器里后,使用命令解压

tar -zxvf nexus-3.19.1-01-unix.tar.gz

另贴上我的网盘连接,需要自取。

链接:https://pan.baidu.com/s/1bQO6dPn3LYPHO2xzY7XbOQ 
提取码:dc85 

解压到 /usr/local路径下:

 进入到nexs-3.19.1-01目录,修改~/etc/nexus-default.properties, 可指定启动的端口:

 配置好后,进入到bin目录下启动nexus

cd /usr/local/nexus-3.19.1-01/bin/

执行命令

./nexus start 

访问: 192.168.232.129:8081, 出现如下画面说明安装成功:  

登录用户: admin,  登录默认密码存放在/usr/local/sonatype-work/nexus3/admin.password 路径,登录成功后,需要提醒你修改密码:

 修改成功后,会进入到首页:

同样也可以执行 ./nexus stop 命令停止 nexus server。 

二、将nexus添加为service

安装成功后,接着可以设置开机自启 nexus, 在路径/etc/rc.d/init.d添加文件nexusd, 直接使用如下命令:
 

vim /etc/rc.d/init.d/nexusd

编写shell脚本配置如下,

注: 开头的chkconfig, description都要有,要不然会出现不支持chk的报错!

#!/bin/bash
#chkconfig:345 61 61
#description:nexus
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ "$NETWORKING" = "no" ] && exit 0
nexus=/usr/local/nexus-3.19.1-01
startup=/usr/local/nexus-3.19.1-01/bin/nexus
shutdown=/usr/local/nexus-3.19.1-01/bin/nexus
start()
echo -n $"Starting nexus service:"
sh $startup start
echo $?

stop()
echo -n $"Stoping nexus service:"
sh $shutdown stop
echo $?

restart()
stop
start

status()
ps -ef|grep nexus

if "$1" in
(start|stop|restart|status)
then 
 echo $1
else
 echo "not support  operation!"
fi

保存退出后,加载并启用nexusd, 由chkconfig去加载

chkconfig -add nexusd
chkconfig nexusd on

如果修改nexusd文件,需要重新刷新配置,执行如下命令即可:

systemctl daemon-reload

启动nexus:

systemctl start nexusd

 

停止nexus:

systemctl stop nexusd

还可以重启:

systemctl restart nexusd

 查看nexus的服务状态:

 启动成功! 访问 http://192.168.232.129:8081 ,如果能出现nexus首页,表明nexus启动成功!

        这样配置完后,重新启动机器,nexus仓库可以自启。 

三、使用Nexus创建仓库

         进入到首页后,我们可以在Repositories下看到4个主要的默认仓库:  maven-central、maven-public、maven-releases、maven-snapshots。 

  • maven-central:核心中央仓库,是nexus的最重要的仓库。
  • maven-public:公共仓库,所有仓库。
  • maven-releases:存放jar的release仓库。
  • maven-snapshots:保存快照的仓库。

        平时我们用的比较多阿里云镜像,如果我们本地没有一些jar, 也不想手动一个一个的把镜像上传到nexus仓库,那我们可以先把阿里云仓库作为一个代理仓库,就是说先从阿里云的仓库中将需要的镜像pull 到nexus上,然后本地仓库根据需要再向nexus拉取。

1、创建一个代理仓库

        点击create repositories---> maven2(proxy)

         阿里云仓库地址:  https://maven.aliyun.com/repository/public

         可以添加用户名和密码进行认证,根据需要设置: 

         最关键的一步: 将刚创建的 proxy仓库加入到 maven-public仓库中:

2、查看私服连接

        上面的操作是为了后面的使用做准备,我们可以将私服的地址配置到自己的project里了, 下面是我们的仓库的镜像地址:

http://192.168.232.129:8081/repository/maven-public/

        接着我们只需要将该地址配置到maven里就可以访问了。

3、配置pom.xml

        将url配置到pom里,父标签为Project标签

    <distributionManagement>
        <repository>
            <id>nexus</id>
            <url>http://192.168.232.129:8081/repository/maven-public/</url>
        </repository>

    </distributionManagement>

        插件仓库的配置可暂时使用阿里云:

    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>

4、配置maven的settings.xml 

        在settings.xml添加mirror:

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

       如果设置了密码,那么需要在setting.xml里添加server配置:


<server>  
    <id>nexus</id>  
    <username>admin</username>  
    <password>admin123456</password>  
</server>

        将配置好的settings.xml复制一份到 ~/user/.m2/ 目录下

        进入项目,刷新maven依赖,刷新页面,会发现已经开始下载依赖了:

下载完成后,项目中会出现jar, 如上图,我们也可以从nexus里的Browse面板里查看依赖占内存,jar的路径等。

 可以在仓库中看到已经缓存到nexus里的一些依赖:

至此nexus 私服搭建流程结束。 

以上是关于CentOS 7搭建nexus私服仓库的主要内容,如果未能解决你的问题,请参考以下文章

centos7搭建nexus maven私服

记一次 Centos 7 搭建 Nexus (Maven私服)

CentOS 7 使用Nexus3搭建maven私服

Nexus3 搭建私服 maven 仓库

CentOS安装Nexus私服仓库

ubuntu下使用Nexus搭建Maven私服