下压缩包的时候,我用了代理还是下的卡住了,于是就用了1M带宽的香港阿里云下载,下载的特别快,就是往本地传的特别慢,所以后面买个dell小主机,做个软路由,这样所有的虚拟机都能下载了。nexus3改动比较大,之前的博客也简单的写过,还能支持docker镜像了。nexus2用的还是习惯了,可以把所有的jar包往sonatype-work里面一丢就行了。

nexus的仓库类型

image-20200722100920555

image-20200722100940115

具体的位置:

[root@cicd storage]# pwd
/wgr/sonatype-work/nexus/storage
[root@cicd storage]# ll
total 0
drwxr-xr-x 4 root root 62 Jul 21 21:39 apache-snapshots
drwxr-xr-x 5 root root 76 Jul 21 21:39 central
drwxr-xr-x 4 root root 33 Jul 21 21:39 central-m1
drwxr-xr-x 5 root root 76 Jul 21 21:39 public
drwxr-xr-x 5 root root 76 Jul 21 21:39 releases
drwxr-xr-x 5 root root 76 Jul 21 21:39 snapshots
drwxr-xr-x 6 root root 87 Jul 21 21:48 thirdparty
[root@cicd storage]# cd public
[root@cicd public]# ll
total 4
-rw-r--r-- 1 root root 25 Jul 21 21:39 archetype-catalog.xml
[root@cicd public]# cd ..
[root@cicd storage]# ll
total 0
drwxr-xr-x 4 root root 62 Jul 21 21:39 apache-snapshots
drwxr-xr-x 5 root root 76 Jul 21 21:39 central
drwxr-xr-x 4 root root 33 Jul 21 21:39 central-m1
drwxr-xr-x 5 root root 76 Jul 21 21:39 public
drwxr-xr-x 5 root root 76 Jul 21 21:39 releases
drwxr-xr-x 5 root root 76 Jul 21 21:39 snapshots
drwxr-xr-x 6 root root 87 Jul 21 21:48 thirdparty
[root@cicd storage]# cd central
[root@cicd central]# cd ../thirdparty/
[root@cicd thirdparty]# ll
total 4
-rw-r--r-- 1 root root 25 Jul 21 21:39 archetype-catalog.xml
drwxr-xr-x 3 root root 22 Jul 21 21:48 com
[root@cicd thirdparty]#

image-20200722101320507

上传jar包到私服上

  1. 需要修改settings.xml文件,配置连接私服的用户和密码。此用户名和密码用于私服校验,因为私服需要知道上传的账号和密码是否和私服中的账号密码一直。

配置:

<server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
      </server> 
	  <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
      </server>

releases连接发布版本项目仓库,snapshots连接测试版本项目仓库

image-20200722102108888

  1. 配置项目Pom.xml

    配置私服仓库的地址,本公司的自己的jar包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为release则上传到release仓库,如果版本为snapshot则上传到私服的snapshot仓库

<distributionManagement>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.1.119:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
        <repository>
            <id>releases</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.1.119:8081/nexus/content/repositories/releases/</url>
        </repository>
    </distributionManagement>

注意:pom.xml和settings.xml中的id一致。

测试进行上传:

image-20200722103102050

从私服下载Jar包

管理仓库组:

nexus中包括很多仓库,Hosted中存放的是企业自己发布的jar及第三方公司的jar包,porxy中存放的是中央仓库的jar,为了方便从私服下载Jar包可以将多个仓库一个仓库组,每个工程需要连接私服的仓库组下载jar包。

打开nexus配置的仓库组,如下图:

image-20200722103646023

上图中仓库组包括了本地仓库,代理仓库等。

在settings.xml中配置仓库

在客户端的settings.xml中配置私服的仓库,需要实用profile定义仓库

<profile>   
    <!--profile的id-->
   <id>dev</id>   
    <repositories>   
      <repository>  
    <!--仓库id,repositories可以配置多个仓库,保证id不重复-->
        <id>nexus</id>   
        <!--仓库地址,即nexus仓库组的地址-->
        <url>http://192.168.1.119:8081/nexus/content/groups/public/</url>   
        <!--是否下载releases构件-->
        <releases>   
          <enabled>true</enabled>   
        </releases>   
        <!--是否下载snapshots构件-->
        <snapshots>   
          <enabled>true</enabled>   
        </snapshots>   
      </repository>   
    </repositories>  
     <pluginRepositories>  
        <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
        <pluginRepository>  
            <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
            <id>public</id>  
            <name>Public Repositories</name>  
            <url>http://192.168.1.119:8081/nexus/content/groups/public/</url>  
        </pluginRepository>  
    </pluginRepositories>  
  </profile>

进行下载测试:
image-20200722095032192

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐