【maven实战】35-为项目分配独立的仓库
2018-02-06 21:36
113 查看
在组织内部,如果所有项目都部署快照及发布版本构件至同样的仓库,就会存在潜在的冲突及安全问题,我们不想让项目A的部署影响到项目B,反之亦然。解决的方法就是为每个项目分配独立的仓库,并且只将仓库的部署,修改,删除权限赋予该项的成员,其他用户只能读取,下载和搜索该仓库的内容。
假设项目名臣为Foo,首先为该项目建立两个宿主仓库Foo Snapshot和Foo Release,分别用来部署快照构件和发布构件。有了仓库之后,就需要创建基于仓库的增,删,改,查权限。在Nexus中,这样的权限是基于Repository Target建立的,Repository Target实际上是一系列正则表达式--匹配,以检查权限是否正确。单击左边导航栏中的Repository Targets链接,就能看到如下的页面:
图中选中了All(Maven2)这一Repository Target,在下方可以看到他包含了一个值为*的正则表达式,表示该Repository Target能够匹配仓库下的任何路径。
下一步就是基于该Repository Target和Foo Release,Foo Snapshots两个仓库建立权限。单击页面左边导航栏中的Privileges链接进入权限页面,然后单击Add按钮,选择Repository Target Privilege,创建对应于Foo Release的权限。
选择Foo Release仓库和All(Maven2),表示创建匹配Foo Release仓库任何路径的权限。单击Save按钮之后,就能在权限列表中看到相应的增,删,改,查权限。如下:
然后遵循同样的步骤,为Foo Snapshot建立增删改查权限。
下一步是创建一个包含上述权限的角色。单击导航栏中的Roles进入页面,再单击页面上方的Add按钮并选择Nexus Role,将之前创建的权限加入到该角色中。
角色创建完成之后,根据需要将其分配给Foo项目的团队成员。这样其他团队的成员默认只能读取Foo Release和Foo Snapshot的内容,而拥有Foo Deployer角色的用户就可以执行部署构件等操作。
假设项目名臣为Foo,首先为该项目建立两个宿主仓库Foo Snapshot和Foo Release,分别用来部署快照构件和发布构件。有了仓库之后,就需要创建基于仓库的增,删,改,查权限。在Nexus中,这样的权限是基于Repository Target建立的,Repository Target实际上是一系列正则表达式--匹配,以检查权限是否正确。单击左边导航栏中的Repository Targets链接,就能看到如下的页面:
图中选中了All(Maven2)这一Repository Target,在下方可以看到他包含了一个值为*的正则表达式,表示该Repository Target能够匹配仓库下的任何路径。
下一步就是基于该Repository Target和Foo Release,Foo Snapshots两个仓库建立权限。单击页面左边导航栏中的Privileges链接进入权限页面,然后单击Add按钮,选择Repository Target Privilege,创建对应于Foo Release的权限。
选择Foo Release仓库和All(Maven2),表示创建匹配Foo Release仓库任何路径的权限。单击Save按钮之后,就能在权限列表中看到相应的增,删,改,查权限。如下:
然后遵循同样的步骤,为Foo Snapshot建立增删改查权限。
下一步是创建一个包含上述权限的角色。单击导航栏中的Roles进入页面,再单击页面上方的Add按钮并选择Nexus Role,将之前创建的权限加入到该角色中。
角色创建完成之后,根据需要将其分配给Foo项目的团队成员。这样其他团队的成员默认只能读取Foo Release和Foo Snapshot的内容,而拥有Foo Deployer角色的用户就可以执行部署构件等操作。
相关文章推荐
- Maven更换国内仓库,项目中也可独立配置镜像仓库
- Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(四): 实战篇
- [Maven实战]发布maven项目到中央仓库(Central Repository)
- 06(maven+SSH)网上商城项目实战之springmvc配置
- maven项目管理之-04-坐标与仓库
- 修改net-paoding项目的build.gradle文件,使用gradle install发布到本地maven仓库
- 关于maven本地仓库新建项目报错的解决
- 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例
- 【实战\Java SSM快速开发仿慕课网在线教育平台项目笔记】第1章 课程项目整体概述(整体介绍及Eclipse,Maven,新浪SAE软件平台介绍)
- 仓库地址错误造成maven项目无法取得依赖项,当然也无法编译
- Android项目使用私有maven仓库配置
- 【实战】4-5 IDEA、maven等配置及初始化web空白项目
- Maven实战_Eclipse构建Maven项目
- IDEA初使用---检出maven项目,私服仓库配置,spring配置文件映射
- 让Maven项目使用Nexus作为远程仓库的settings.xml配置
- maven实战(五)maven管理项目优秀博客地址记录
- 02(maven+SSH)网上商城项目实战之数据库设计(PMD)
- 【maven项目结构】module 生成独立的jar
- Maven的使用,Nexus建立本地仓库以及Eclipse导入Maven项目(三): 配置篇
- maven 添加jar包到本地仓库及到项目中