`

24-Nexus3.X配置

阅读更多

Maven介绍
Apache Maven是一个创新的软件项目管理和综合工具。
Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。
Maven最强大的功能就是能够自动下载项目依赖库。
Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

Maven主要目标是提供给开发人员:
1)项目是可重复使用,易维护,更容易理解的一个综合模型。
2)插件或交互的工具,这种声明性的模式。

私服介绍
私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。





Nexus介绍
Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。
Nexus支持WebDAV与LDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

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

总之,在本地构建nexus私服的好处有:
1)加速构建;
2)节省带宽;
3)节省中央maven仓库的带宽;
4)稳定(应付一旦中央服务器出问题的情况);
5)控制和审计;
6)能够部署第三方构件;
7)可以建立本地内部仓库;
8)可以建立公共仓库
这些优点使得Nexus日趋成为最流行的Maven仓库管理器。

1.官网下载tar包
2.解压
3.进入bin目录
4.执行 ./nexus run
5.访问http://部署nexus地址:8081




出现上述页面,说明配置nexus成功!
点击右上角“Log in”,
输入默认用户名(admin)和默认密码(admin123)登录


可以在“管理”里查看nexus的系统信息




Nexus仓库分类的概念:
1)Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件
2)为了方便,Maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容).





Nexus的web界面功能介绍

1.Browse Server Content



1.1  Search
这个就是类似Maven仓库上的搜索功能,就是从私服上查找是否有哪些包。
注意:
1)在Search这级是支持模糊搜索的,如图所示:



1.2  Browse



1)Assets
这是能看到所有的资源,包含Jar,已经对Jar的一些描述信息。
2)Components
这里只能看到Jar包。

2.Server Adminstration And configuration

看到这个选项的前提是要进行登录的,如上面已经介绍登陆方法,右上角点击“Sign In”的登录按钮,输入admin/admin123,登录成功之后,即可看到此功能,如图所示:



2.1 Blob Stores
文件存储的地方,创建一个目录的话,对应文件系统的一个目录,如图所示:



2.2 Repositories



1)代理中央Maven仓库 Proxy
这里就是代理的意思,代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。
这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。
创建Proxy的具体步骤
1--点击“Create Repositories”按钮




2--选择要创建的类型



3--填写详细信息
Name:就是为代理起个名字
Remote Storage: 代理的地址,Maven的地址为: https://repo1.maven.org/maven2/
Blob Store: 选择代理下载包的存放路径



2)宿主机 Hosted
Hosted是宿主机的意思,就是怎么把第三方的Jar放到私服上。
Hosted有三种方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
Hosted的创建和Proxy是一致的,具体步骤和上面基本一致。如下:









注意事项:
Allow Redeploy:允许重新部署
Disable Redeploy:禁止重新部署
Read-Only:只读




3.仓库组(Repository Group)
通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包,如:

maven-public
nuget-group

4.日志及数据分析




=============================简介讲解=======================================
1. 代理仓库(Proxy Repository)
顾名思义是代理第三方仓库的,如:
   maven-central
   nuget.org-proxy

版本策略(Version Policy):
   Release: 正式版本
   Snapshot: 快照版本
   Mixed: 混合模式

布局策略(Layout Policy):
   Strict:严格
   Permissive:宽松

2. 宿主仓库(Hosted Repository)

存储本地上传的组件和资源的,如:
  maven-releases
  maven-snapshots
  nuget-hosted

部署策略(Deployment Policy):
  Allow Redeploy:允许重新部署
  Disable Redeploy:禁止重新部署
  Read-Only:只读

3. 仓库组(Repository Group)
通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包,如:

maven-public
nuget-group

与Maven集成
1. Servers 配置认证信息
在Maven settings.xml中添加Nexus认证信息:

<server>
  <id>nexus-releases</id>
  <username>admin</username>
  <password>admin123</password>
</server>

<server>
  <id>nexus-snapshots</id>
  <username>admin</username>
  <password>admin123</password>
</server>

 


   nexus-releases: 用于发布Release版本
   nexus-snapshots: 用于发布Snapshot版本

Release版本与Snapshot版本的区分:
  Release: 4.3.0
  Snapshot: 4.3.0-SNAPSHOT
  在项目POM.xml中设置的版本号添加SNAPSHOT标识的都会发布为SNAPSHOT版本,没有SNAPSHOT标识的都会发布为Release版本。
  SNAPSHOT版本会自动加一个时间作为标识,如:4.3.0-SNAPSHOT发布后为变成4.3.0-SNAPSHOT-20160712.114532-1.jar

2. 配置自动化部署构件
在POM.xml中添加以下代码:

<distributionManagement>  
  <repository>  
    <id>nexus-releases</id>  
    <name>Nexus Release Repository</name>  
    <url>http://127.0.0.1:8081/repository/maven-releases/</url>  
  </repository>  
  <snapshotRepository>  
    <id>nexus-snapshots</id>  
    <name>Nexus Snapshot Repository</name>  
    <url>http://127.0.0.1:8081/repository/maven-snapshots/</url>  
  </snapshotRepository>  
</distributionManagement> 

 
注意事项:
ID名称必须要与settings.xml中Servers配置的ID名称保持一致。
项目版本号中有SNAPSHOT标识的,会发布到Nexus Snapshots Repository, 否则发布到Nexus Release Repository,并根据ID去匹配授权账号。

3. 部署到Nexus仓库
mvn deploy

4. 上传第三方JAR包
Nexus 3.0不支持页面上传,可使用maven命令:
# 如第三方JAR包:aliyun-sdk-oss-2.2.3.jar

mvn deploy:deploy-file 
  -DgroupId=com.aliyun.oss 
  -DartifactId=aliyun-sdk-oss 
  -Dversion=2.2.3 
  -Dpackaging=jar 
  -Dfile=D:\aliyun-sdk-oss-2.2.3.jar 
  -Durl=http://127.0.0.1:8081/repository/maven-3rd/ 
  -DrepositoryId=nexus-releases

 
注意事项:
1.建议在上传第三方JAR包时,创建单独的第三方JAR包管理仓库,便于管理有维护。(maven-3rd)
2.-DrepositoryId=nexus-releases 对应的是settings.xml中Servers配置的ID名称。(授权)

5. 使用代理中央仓库

<repositories>
    <repository>
        <id>nexus</id>
        <name>Nexus Repository</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>nexus</id>
        <name>Nexus Plugin Repository</name>
        <url>http://127.0.0.1:8081/repository/maven-public/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>

 

注意事项:
在开发中如果有严格的管理要求,可将SNAPSHOT和RELEASE单独配置。
有插件依赖时配置插件仓库,默认会使用Maven中央仓库。

 

参考 

https://segmentfault.com/a/1190000005966312#articleHeader12

http://www.cnblogs.com/kevingrace/p/6201984.html

  • 大小: 34.8 KB
  • 大小: 82.1 KB
  • 大小: 128.8 KB
  • 大小: 38.1 KB
  • 大小: 43.8 KB
  • 大小: 79.4 KB
  • 大小: 40.7 KB
  • 大小: 66.2 KB
  • 大小: 165.7 KB
  • 大小: 63.5 KB
  • 大小: 206.2 KB
  • 大小: 75.4 KB
  • 大小: 93.8 KB
  • 大小: 57.5 KB
  • 大小: 75.3 KB
  • 大小: 81.5 KB
  • 大小: 8.5 KB
  • 大小: 72 KB
分享到:
评论

相关推荐

    nexus-3.23.0-03-unix.tar.gz.war.zip

    注意:需要配置在bin目录的nexus运行脚本INSTALL4J_JAVA_HOME_OVERRIDE 而不要配置在linux启动脚本中添加Environment="JAVA_HOME=/usr/txp/java/jdk/jdk1.8.0_241" 亲测过,1X的版本用第二种可以

    nexus 2.x 安装配置指南

    迅速掌握如何使用nexus,搭建属于自己的私服仓库

    nexus-9000-series-nx-os-vxlan-configuration-guide-93x.pdf

    nexus-9000-series-nx-os-vxlan-configuration-guide-93x.pdf

    nexus3.6.x安装配置

    nexus3.6.x安装配置,详细描述nexus3.6.x安装的具体步骤。

    ansible-nexus3-oss, Ansible角色为 redhat/centos提供 Nexus 仓库管理器 3.x.zip

    ansible-nexus3-oss, Ansible角色为 redhat/centos提供 Nexus 仓库管理器 3.x Ansible角色:Nexus 3-操作系统这里角色在 centos/rhel上安装和配置 Nexus 存储库管理器 操作系统 版本 3.x 。除了 blobstores -related...

    nexus3-keycloak-plugin:Sonatype Nexus插件,用于Keycloak集成

    它适用于Nexus 3.x和Keycloak 3.x,Keycloak 4.x,Keycloak 5.x,Keycloak 6.x,Keycloak 7.x,Keycloak 8.x,Keycloak 9.x,Keycloak 10.x,Keycloak 11 。X。 特征 支持映射Keycloak的Realm-Roles , Client-...

    詹金斯管道与nginx-nexus3

    詹金斯管道与nginx-nexus3 免责声明:创建的容器用于非生产/实验室或测试目的。 docker-compose.yaml将加载自定义的jenkins映像v1.0.X,请参阅以获取创建此自定义映像的步骤。通过上述网址在dockerfile中预先配置了...

    service-api-demo.rar

    此工程集成了nexus私服,配合我的“nexus搭建和基于spring boot2.x的配置,centos7"博客,可以使用spring boot集成nexus

    b_Cisco_Nexus_9000_Series_NX-OS_VXLAN_Configuration_Guide_7x.pdf

    N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与配置。N9K上NX-OS的VxLAN设计与...

    nexus3-oss:安装和配置sonatype nexus3-oss的角色

    角色扮演:Nexus 3 OSS 该角色将安装并配置Nexus Repository Manager OSS版本3.x。 可以通过重新运行角色来更新所有配置,但与相关的设置除外,它们在关系中是不变的。目录注意:从ansible星系站点查看时,TOC链接将...

    nexus-3.17.0-01-win64.7z

    官网对应的最新版nexus私服包用于配置私服。要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

    nexus-3.18.1-01-win64.7z

    官网对应的最新版nexus私服包用于配置私服。要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

    centeros7 安装配置环境jdk1.8的教程

    3.再次查询 rpm-qa|grepjdk 4.在usr/local创建文件夹 cd/usr/local mkdirjava 5.将jdk1.8放到刚刚创建的文件中 cd/usr/local/java 用xftp上传后解压 tar-zxvfjdk-8u181-linux-x64.tar.gz 6.进入刚刚解压的...

    nexus3远程搭建maven私服(离线)

    如果安装nexus3.x搭建maven私服,前提需要在Linux服务器安装1.8JDK以及3.xMAVEN版本 1、安装jdk和maven: (1)、下载jdk1.8Linux版本,上传于指定目录下并解压(maven也一样), (2)、执行 vim /etc/profile命令...

    docker-nexusrepmanoss:带有Sonatype Nexus Repository OSS 3.x的基于Alpine Linux的Docker映像

    /opt/nexus-data \ -p 8081:8081 -p 5000:5000 \ --ulimit nofile=65536 \ --name nexus-repository-oss \ 04n0/nexusrepmanoss:3.30-alpine 如果需要覆盖JVM内存的默认配置,则可以将环境变量JVM_HEAP_MIN和/或JVM_...

    nexus-3.19.1-01-win64.7z

    官网对应的最新版nexus私服包用于配置私服。要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库。

    cisco_nexus7000_unicast_routing_config_guide_8x.pdf

    cisco_nexus7000_unicast_routing_config_guide_8x,n7k配置手册 英文版

    Nexus:基于八卦的服务发现和故障检测服务

    这个项目需要 Maven 3.x 来构建。 要构建,cd 到根目录,然后: mvn clean install 有关设计和用法,请参阅 。 Maven配置 包括 hellblazer 快照存储库: &lt;id&gt;hellblazer-snapshots &lt;url&gt;...

    nexus私服包

    maven私服搭建所需包,版本2.x需配置jdk1.7,版本3.x需要jdk1.8以上

Global site tag (gtag.js) - Google Analytics