5、JMSN~Nexus搭建maven私服

1、使用场景

首先介绍一下背景,公司访问外网有限制,项目组大部分人员不能访问Maven的central repository,因此在局域网里找一台有外网权限的机器,搭建Nexus私服,然后开发人员连到这台私服上。

环境是:nexus-2.1.1、jdk-1.8

2、安装步骤

  • 1、下载并上传nexus-2.11.2-06-bundle.zip

    官网下载: http://www.sonatype.org/nexus/archived/

  • 2、解压并配置/etc/profile 环境变量

    source /etc/profile

  • 3、修改nexus配置文件 vim /opt/nexus-2.11.2/conf/nexus.properties

    如果没有修改nexus-work,默认的仓库位置是在sonatype-work这个目录

  • 4、bin/nexus start; tailf logs/wrapper.log

    启动nexus,如果直接使用root启动,会报错

    把这行打开,并修改为RUN_AS_USER=root

    再次启动就正常了。

3、浏览器配置responsity仓库

  • 1、访问地址 http://192.168.0.186:8081/nexus/#welcome 右上角登录 admin admin123

  • 2、左边功能概图

  • 3、为Nexus配置代理服务器(如果这台机器可以访问外网,则可以不配置) 由于这台机器需要通过代理才能访问外网,所以首先要配置代理服务器,在Administration-->Server中进行配置

  • 4、repository远程仓库介绍 在Views/Repositories-->Repositories里进行配置

    Nexus里可以配置3种类型的仓库,分别是proxy、hosted、group。

    proxy是远程仓库的代理:比如说在Nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。

    hosted是宿主仓库:用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在

    central repository是获取不到的,就需要手工上传到hosted里。

    group是仓库组:在Maven里没有这个概念,是Nexus特有的。目的是将上述的proxy和hosted多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了。

  • 5、配置Central 的proxy (已经有了,修改远程仓库为阿里云的就行)

    最关键的一个配置,可能就是Central Repository的proxy配置,因为大部分的构件,都是要通过这个proxy得到的:

    阿里maven仓库:http://maven.aliyun.com/nexus/content/groups/public/

    在安装完Nexus之后,这个proxy是预置的,需要做的就是把Download Remote Indexes改为true,这样Nexus才会从central repository下载索引,才能在Nexus中使用artifact search的功能。

    网络上有一些其他公开的Maven仓库(比如阿里云),可以用同样的办法,在Nexus中设置proxy

  • 6、配置group repository

    前面说过,group其实是一个虚拟的仓库,通过对实体仓库(proxy、hosted)进行聚合,对外暴露一个统一的地址。

    这里要注意的是,放到左边的仓库,才是会被聚合的仓库。

  • 7、配置用户密码

    在Security-->Users中配置,在deployment用户上点击右键,选择Set Password,然后设置一个密码,做这个操作是为了后面提交做准备

4、配置客户端settiongs.xml

经过前面的7个步骤,Nexus就配置好了,接下来需要在每个开发人员的开发机器上进行配置了,配置文件在%USER_HOME%/.m2/settings.xml

<settings>

<servers>
     <server>
         <id>nexus-releases</id>
         <username>admin</username>
         <password>admin123</password>
     </server>
<server>
         <id>nexus-snapshots</id>
         <username>admin</username>
         <password>admin123</password>
     </server>
   </servers>
  
   <mirrors>
     <mirror>
         <id>nexus</id>
         <name>internal nexus repository</name>
         <url>http://IP:port/nexus-2.1.1/content/groups/public/</url>
         <mirrorOf>central</mirrorOf>
     </mirror>
   </mirrors>

</settings>

这里只配置了2个元素 <mirrors> 和 <servers>。

首先这里配置了一个id为nexus的镜像仓库,地址是前面配置的public group的URL,然后镜像目标是central。

转载于:https://my.oschina.net/liufukin/blog/2221511

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值