基于nexus搭建maven私服

1、 为什么使用Nexus

        如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

2、Nexus下载  &&  解压配置

wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.5-02-bundle.tar.gz

  

mkdir /usr/local/nexus
tar zxvf nexus-2.14.5-02-bundle.tar.gz  -C /usr/local/nexus

解压完毕后会出现两个文件夹:

  • nexus-2.14.5-02 源码包
  • sonatype-work 仓库

编辑配置文件:vim conf/nexus.properties

# Jetty section
application-port=8081      # 访问端口
application-host=0.0.0.0   # 绑定IP
nexus-webapp=${bundleBasedir}/nexus   # 指定nexus程序目录
nexus-webapp-context-path=/nexus      # 指定访问的二组目录

# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF

以上都是默认配置,对应的访问地址为: 
http://x.x.x.x:8081/nexus

如果要改为http://x.x.x.x:8081,则修改nexus-webapp-context-path=/即可

创建普通用户(useradd),配置普通用户启动

 修改这个启动文件

vim /usr/local/nexus/nexus-2.14.5-02/bin/nexus


RUN_AS_USER=用户名
# 启动脚本有如下参数可选
[root@ci-gitlab nexus-2.14.4-03]# bin/nexus
Usage: ./nexus { console | start | stop | restart | status | dump }

需要的话配置开机启动

vim  /etc/init.d/nexus

#!/bin/bash      
#chkconfig:2345 20 90      
#description:nexus      
#processname:nexus  

export JAVA_HOME=/usr/java/jdk1.8.0_144

case $1 in
        start)  /usr/local/nexus/nexus-2.14.5-02/bin/nexus start;;
        stop) /usr/local/nexus/nexus-2.14.5-02/bin/nexus stop;;
        status)  /usr/local/nexus/nexus-2.14.5-02/bin/nexus status;;
        restart)  /usr/local/nexus/nexus-2.14.5-02/bin/nexus restart;;
        dump)  /usr/local/nexus/nexus-2.14.5-02/bin/nexus dump ;;
        console)  /usr/local/nexus/nexus-2.14.5-02/bin/nexus console ;;
        *) echo "require console | start | stop | restart | status | dump " ;;
esac

 

3、登陆管理用户

 

登陆地址

地址:http://{ip}:8081/nexus/

默认用户/密码

admin/admin123 
deployment/deployment123

admin登陆后,点击左侧【Security–Users】,在列表中选择用户,右键可更改密码和重围密码, 底部表格中可修改用户其余信息

4、添加代理仓库

 点击菜单栏上的Add按钮后选择Proxy Repository,看到如下所示配置界面:

修改阿里云地址      http://maven.aliyun.com/nexus/content/repositories/central/

4、添加仓库组

仓库组和仓库关系是一对多的关系,一个仓库组可以指向多个仓库。

点击菜单栏上的Add按钮选择Repository Group就可以看到仓库组的配置界面,如下所示:
 

把需要组成一个组的仓库移动到左边,排好序,jar包搜索顺序事按照从下至下的顺序查找的,点击保存即可。

5.本地maven从私服配置上传下载

5.1 下载

5.1.1 配置快照地址

直接配置至组的访问地址即可

<mirror>
    <id>ganinfo</id>
    <name>ganinfo</name>
	<mirrorOf>*</mirrorOf>
   <url>http://xxxx:8081/nexus/content/groups/ganinfo/</url>
</mirror>

 

5.2 上传

配置setting.xml

   <server>
      <id>iotreleases</id>
      <username>deployment</username>
      <password>123456</password>
    </server>
    <server>
      <id>iotsnapshots</id>
      <username>deployment</username>
      <password>123456</password>
    </server>

配置pom文件

<distributionManagement>
        <repository>
            <id>iotreleases</id>
            <name>iot releases</name>
            <url>http://xxxx:port/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>iotsnapshots</id>
            <name>iot snapshots</name>
            <url>http://xxxx:port/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

  

参考https://www.cnblogs.com/dingyingsi/p/3687077.html

参考https://blog.csdn.net/qq_31463999/article/details/80388438

猜你喜欢

转载自www.cnblogs.com/shuowen/p/9384311.html