阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Sonatype Nexus Maven仓库搭建和管理

155次阅读
没有评论

共计 3874 个字符,预计需要花费 10 分钟才能阅读完成。

安装

1. 从 http://www.sonatype.org/nexus/ 下载最新的 Nexus 压缩包, 现在已经不提供 war 包的下载

2. 解压到服务器目录, 例如我是放到 /opt/nexus 目录下, 如果不打算用 root 用户启动服务, chown 到相应的用户

3. 更改 Nexus 的运行 JDK
原服务器上的 JDK 是 1.6, 运行会出 Unsupported major.minor version 51.0 错误, 需要更改运行 Nexus 的 JDK 为 1.7
By default Nexus will pick up whatever java executable is on the path. You can change this by editing $NEXUS_HOME/bin/jsw/conf/wrapper.conf and setting the “wrapper.java.command” property to the absolute path of your java executable.
所以, 要修改的是 $NEXUS_HOME/bin/jsw/conf/wrapper.conf, 我直接改成 jdk1.8 了

    # Set the JVM executable
    # (modify this to absolute path if you need a Java that is not on the OS path)
    wrapper.java.command=/opt/jdk1.8.0_40/bin/java

4. 用默认管理员 admin/admin123 登录, 修改密码

5. 点击左边的 Repositories, 在列出的仓库列表中, 将所有 proxy 类型的仓库 Configuration->Download Remote Indexes 都设为 True 并保存, 下载 Central Index. 因为网络问题, 默认的 https://repo1.maven.org/maven2/ 连不上, 可以通过 http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories 查找可用的 mirror.

https://repository.jboss.org/maven2/ 这个版本号比较旧, 建议不要用

http://maven.antelink.com/content/repositories/central/ 和 http://mirrors.ibiblio.org/pub/mirrors/maven2 都不错

需要等待一段时间, 可以通过 tail -f nexus/nexus-2.11.1/logs/wrapper.log 查看执行情况以及出错时的错误信息, 完成后就可以在 Browse Index 里看到目录了.

Nexus 的权限管理

在部署构件到 Nexus 上的时候我们注意到配置一个验证信息,那么,Nexus 的权限管理是怎么样的呢?我们又怎么合理地分配权限呢?

Nexus 是基于权限做访问控制的,服务器的每一个资源都有对应的权限来控制,因此用户执行特定的操作时就必须拥有必要的权限。管理员必须以角色的方式将权限赋予 Nexus 用户。用户可以被赋予一个或者多个角色,角色可以包含一个或多个权限,角色还可以包含一个或者多个其他角色。

Nexus 上预定义了三个用户,用 admin 登录后,单击页面左边的 User 链接

  admin:该用户拥有 Nexus 的全部权限,默认密码为 admin123。

  deployment:该用户能够访问 Nexus,浏览仓库内容、搜索、上传部署构件,但是不能对 Nexus 进行任何配置,默认密码为 deployment123。

  anonymous:该用户对应了所有未登录的匿名用户,它们可以浏览仓库并进行搜索。

  Nexus 预定义了一些常用且重要的角色,如:

  UI:Basic UI Privileges:包含了访问 Nexus 界面必须的最基本的权限。

  UI:Repository Browser:包含了浏览仓库页面所需要的权限。

  UI:Search:包含了访问快速搜索栏及搜索界面所需要的权限。

  Repo:All Repositories (Read):给予用户读取所有仓库内容的权限。没有仓库的读权限用户将无法再仓库页面看到实际的仓库内容,也无法使用 Maven 从仓库下载构件。

  Repo:All Repositories (Full Control):给予用户完全控制所有仓库内容的权限。用户不仅可以浏览、下载构件,还可以部署构件及删除仓库内容。

为项目分配独立的仓库

如果我们将所有项目的快照版本和发布版本构件都部署到同样的仓库,就有潜在的冲突以及安全问题。我们不想让项目 A 的部署影响到项目 B,也不想让项目 B 的部署影响到项目 A,那么解决方法就是为每个项目分配独立的仓库,并且只将仓库的部署、修改和删除权限赋予该项目的成员,其他用户只能拥有读取、下载和 搜索该仓库内容的权限。步骤如下:

1、创建项目库

单击 Nexus 界面左边导航栏中的 Repositories 链接,在右边的面板中选择 Add,在下拉菜单中选择 Hosted Repository。接着在下面的面板中填写仓库的 ID 和名称,选择 Repository Policy 为 Release,选择 Deployment Policy 为 Allow Redeploy,其他的选项默认。点击 Save 按钮。

2、创建权限

有了仓库以后,就需要创建基于仓库的增、删、查、改权限了。Nexus 中增删查改的权限是基于 Repository Target 建立的。单击 Nexus 界面导航栏中的 Repository Targets 链接,可以看到 Repository Target 的相关信息。

点击页面导航栏中“Security”->“Privileges”-> 单击 Add 按钮,选择“Repository Target Privilege”。如图 4 填写相关内容, Repository 选取刚创建的 repository, Repository Target 选取 All(Maven2)

点击“Save”后就能在列表中看到相应的增、删、改、读, View 权限。

3、创建角色

如果我们创建一个包含上述权限的角色的话就能更方便管理了。创建角色步骤如下:

从导航的“Roles”链接进入角色界面,单击上方的“Add 按钮”选择“Nexus Role”。填写相关内容,并将 fooReleases 项目分配给角色。填写相关信息, 选取刚才创建的 5 个 Privileges

4、创建用户

点击导航的“Users”链接,进入用户界面,然后单击“Add”按钮并选择“Nexus User”。填写相关内容。并授予用户角色信息。要同时授予 Nexus Deployment Role 和刚才创建的 Role

Nexus 的调度任务

Nexus 提供了一系列可配置的调度任务来方便用户管理系统。用户可以设定这些任务运行的方式,例如每天、每周等。调度任务会在适当的时候在后台运行。

要建立一个调度任务,单击左边导航菜单中的“Scheduled Tasks”,然后再右边的界面上单击 Add 按钮,按照页面上的提示填写相关内容。

 Nexus 包含了以下几种类型的调度任务:

o    Download Indexs:为代理仓库下载远程索引。

o    Empty Trash:清空 Nexus 的回收站,一些操作实际是将文件移到了回收站中。

o    Evict Unused Proxied Items From Repository Caches:删除代理仓库中长期未被使用的构件缓存。

o    Expire Repository Cache:Nexus 为代理仓库维护了远程仓库的信息以避免不必要的网络流量,该任务清空这些信息以强制 Nexus 去重新获取远程仓库的信息。

o    Publish Indexs:将仓库索引发布成可供 m2eclipse 和其他 Nexus 使用的格式。

o    Purge Nexus Timeline:删除 Nexus 的时间线文件,该文件用于建立系统的 RSS 源。

o    Rebuild Maven Metadata Files:基于仓库内容重新创建仓库元数据文件 maven-metadata.xml,同时重新创建每个文件的校验和 md5 与 sha1。

o    ReIndex Repositories:为仓库编纂索引。

o    Remove Snapshots From Repositories:以可配置的方式删除仓库的快照构件。

o    Synchronize Shadow Repository:同步虚拟仓库的内容(服务基于 Maven1)。

Windows 下使用 Nexus 创建私服  http://www.linuxidc.com/Linux/2014-12/110502.htm

Maven 3.1.0 发布,项目构建工具 http://www.linuxidc.com/Linux/2013-07/87403.htm

Linux 安装 Maven http://www.linuxidc.com/Linux/2013-05/84489.htm

Maven3.0 配置和简单使用 http://www.linuxidc.com/Linux/2013-04/82939.htm

Ubuntu 下搭建 sun-jdk 和 Maven2 http://www.linuxidc.com/Linux/2012-12/76531.htm

Maven 使用入门 http://www.linuxidc.com/Linux/2012-11/74354.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-04/116724.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3874字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中