Nexus 最佳实践配置

nexus的仓库类型

仓库类型分为以下四种:

  1. group:仓库组
  2. hosted:宿主
  3. proxy:代理
  4. virtual:虚拟

仓库组

外部使用时,直接使用仓库组对外。

如: http://[私服IP]:8082/nexus/content/groups/public/

注意仓库组的顺序,一般先公司内部,然后第三方,然后中央仓库等。

  1. Releases: 用来部署管理公司内部的发布版本构件的宿主类型仓库
  2. Snapshots: 用来部署管理公司内部的快照版本构件的宿主类型仓库
  3. 3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库(短信SDK等)
  4. Central: 用来代理maven中央仓库中发布版本构件的仓库

最佳使用:
在这里插入图片描述

.m2下的settings.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
  http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>/Users/jeikerxiao/.m2/repository</localRepository>

  <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-releases</id>
      <mirrorOf>*</mirrorOf>
      <url>http://[私服IP]:8082/nexus/content/groups/public</url>
    </mirror>
    <mirror>
      <id>nexus-snapshots</id>
      <mirrorOf>*</mirrorOf>
      <url>http://[私服IP]:8082/nexus/content/repositories/snapshots</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>nexus-releases</id>
          <url>http://nexus-releases</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>nexus-snapshots</id>
          <url>http://nexus-snapshots</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>nexus-releases</id>
          <url>http://nexus-releases</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>nexus-snapshots</id>
          <url>http://nexus-snapshots</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>

</settings>

maven项目的pom.xml配置

<distributionManagement>  
        <!-- 两个ID必须与 setting.xml中的<server><id>nexus-releases</id></server>保持一致-->  
        <repository>  
            <id>nexus-releases</id>  
            <name>Nexus Release Repository</name>
            <url>http://[私服IP]:8082/nexus/content/repositories/releases</url>  
        </repository>  
        <snapshotRepository>  
            <id>nexus-snapshots</id>  
            <name>Nexus Snapshot Repository</name>  
            <url>http://[私服IP]:8082/nexus/content/repositories/snapshots</url>  
        </snapshotRepository>  
</distributionManagement>
发布了420 篇原创文章 · 获赞 143 · 访问量 89万+

猜你喜欢

转载自blog.csdn.net/jeikerxiao/article/details/95045416
今日推荐