搭建Nexus仓库管理器(私服)

来源:互联网 发布:mac怎么关闭dashboard 编辑:程序博客网 时间:2024/05/19 20:44

第0章:简介

1.仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。

2.通过为所有的来自中央Maven仓库的构件安装一个本地的缓存,你将加速组织内部的所有构建。

3.仓库管理器为组织提供了一种控制Maven下载的机制。你可以详细的设置从公开仓库包含或排除特定的构件。

4.官网:http://www.sonatype.org/

5.特征:提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

6.nexus思维导图:


第1章:安装nexus

1.参考博客

http://www.blogjava.net/xiaomage234/archive/2012/11/22/391770.html


http://wenku.baidu.com/view/b94acae29b89680203d825dd.html


2.安装步骤

1.下载地址:http://www.sonatype.org/nexus/go

2.解压:$ unzip nexus-1.0.0-beta-3-bundle.zip或$ tar xvzf nexus-1.0.0-beta-3-bundle.tgz,nexus是一种绿色软件

3.进入nexus-2.6.3-01/bin/jsw/找到对应操作系统的支持脚本,如window64位为/windows-x86-64/start-nexus.bat,直接运行启动服务。

4.访问http://localhost:8081/nexus,可能首先进入注册页面,填写注册信息,通过邮件形式获取序列号,完成注册后,进入如下页面:

    

5.安装完毕。

3.配置步骤

1.Nexus主页面中,鼠标单击页面右上角的Log In图标,显示登录页面,用户名:admin,密码:admin123,登录管理台

2.创建rcms仓库。点击左侧导航栏中的Repositories链接,在右侧面板中选择“Add”,弹出下拉菜单,在下拉菜单中选择HostRepository,显示仓库的配置如图信息:

同样,创建宿主仓库rcms_snapshots,配置如下图:


3.配置central仓库。点击“Central”,选择上图中“Configuration”,将“DownloadRemote Indexes”选项改为“True”,如下图:

完成代理设置。如果可以访问外网,可不用设置代理,可跳过。

4.修改public仓库组。点击PublicRepositories,选择“Configuration”,在仓库组中添加项目需要的仓库资源,3rd party为第三方类库、Central为代理仓库、rcms_realease以及rcms_snapshots为项目仓库。如下图:

4.创建权限,角色和用户

1.创建仓库权限。点击页面左侧导航栏中“Security点击“Privileges点击上Add->RepositoryTarget Privilege,配置rcms_release的权限:

同样的办法完成对于rcms_snapshots的权限创建

2.创建角色。左侧导航栏中选择“Security”,点击“Roles”,选择Add->NexusRole,填入如下信息:

3.创建用户。点击页面左侧导航栏中“Security点击“Users点击Add->NexusUser,配置如下图:

第2章:部署构件到nexus

1.配置setting.xml

1.为了普通开发人员可以下载nexus仓库中的资源,需要在maven的setting.xml配置文件中的配置,配置在<mirrors>与</mirrors>之间,如下:

    <mirror>
      <id>public</id>
      <mirrorOf>*</mirrorOf>
      <name>Public Repositories</name>
      <url>http://localhost:8081/nexus/content/groups/public/</url>
    </mirror>

2.如果是版本发布人员,除了需要进行上面开发人员的配置外,还需要在setting.xml文件的<servers>与</servers>之间配置如下用户信息,用户名和密码是nexus的登录权限:

    <server>
        <id>rcms_release</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>rcms_snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>


2.部署发布版构件

1.在项目POM.xml文件中配置发布版本仓库信息如下:

    <!-- 设定除中央仓库(repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查找. -->
    <repositories>
        <!-- 本地仓库 -->
        <repository>
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <checksumPolicy>fail</checksumPolicy>
            </releases>
            <snapshots>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <!-- 设定团队持续集成发布包服务器  -->
    <distributionManagement>
        <repository>
            <id>rcms_release</id>
            <name>rcms_release</name>
            <url>http://localhost:8081/nexus/content/repositories/rcms_release/</url>
        </repository>
    </distributionManagement>

2.发布发布版本前需要取保项目的坐标中的版本号格式,发布版对应的版本号坐标应该不带SNAPSHOT,否则发布不成功。

  <version>1.0.0-</version>

3.在项目POM.xml所在文件夹目录中执行mvn deploy命令,即可将构件发布版发布到nexus仓库中。

3.部署快照版构件

1.在项目POM.xml文件中配置发布版本仓库信息如下:

          <!-- 设定除中央仓库(repo1.maven.org/maven2/)外的其他仓库,按设定顺序进行查找. -->
    <repositories>
        <!-- 本地仓库 -->
        <repository>
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <checksumPolicy>fail</checksumPolicy>
            </releases>
            <snapshots>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>public</id>
            <name>Public Repositories</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <!-- 设定团队持续集成发布包服务器  -->
    <distributionManagement>
        <snapshotRepository>
            <id>rcms_snapshots</id>
            <name>rcms_snapshots</name>
            <url>http://localhost:8081/nexus/content/repositories/rcms_snapshots/</url>
            <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>

2.发布发布版本前需要取保项目的坐标中的版本号格式,发布版对应的版本号坐标必须带SNAPSHOT,否则发布不成功。

  <version>1.0.0-SNAPSHOT</version>

3.在项目POM.xml所在文件夹目录中执行mvn deploy命令,即可将构件快照版发布到nexus仓库中。

4.部署第三方构件

1.Nexus的管理页面中,点击左侧导航栏“Repositories,选择“3rdparty”,点击“Artifact Upload”,配置如下:

2.点击“Select Artifacet(s) to Upload”,选择需要上传构件,如下图:

3.点击“Add Artifact”,然后点击“Upload Artifact”,完成发布。


原创粉丝点击