[color=blue][b]新建仓库---分仓库管理项目[/b][/color]
使用nexus管理多个项目的时候,如果将每个项目的版本都放到release和snapshot仓库中,必然混淆不清。
所以,可以为每个项目单独创建一个release仓库和snapshot仓库。这样管理起来就很方便了。
由nexus提供的release仓库和snapshot仓库可以存储所有项目公用的数据。
[b]1.新建仓库(SNAPSHOT仓库,release仓库,Group组)[/b]
[size=small]创建User项目的release仓库[/size]
Repositories--Add--Hosted Repository
Repository ID:proj-user-relase
Repository Name:project of User release repository
Provider:Maven2
Repository Policy:Release
Deployment Policy:Allow Redeploy
[size=small]创建User项目的SNAPSHOT仓库[/size]
Repositories--Add--Hosted Repository
Repository ID:proj-user-snapshot
Repository Name:project of User SNAPSHOT repository
Provider:Maven2
Repository Policy:Snapshot
Deployment Policy:Allow Redeploy
[b]2.新增权限(权限-->仓库)[/b]
Security--Privilege--Add--Repository Target Privilege
Name:privilege-proj-user-snapshot
Description:privilege of User project SNAPSHOT repository
Repository:project of User snapshot repository
Repository Target:All (Maven2)
Name:privilege-proj-user-realse
Description:privilege of User project relaese repository
Repository:project of User release repository
Repository Target:All (Maven2)
[b]3.创建角色(仓库-->角色)[/b]
Security--Roles--Add--Nexus Role
Role Id:proj_user_role
Name:Project of User Role
Description:User项目的角色
Role/Privilege Management--Add:
privilege-proj-user-snapshot(create,delete,read,update)
privilege-proj-user-realse(create,delete,read,update)
[b]4.创建用户(角色-->用户)[/b]
Security--Users--Add--Nexus User
User ID:root
First Name:xxx
Last Name:yyy
Email:xxx@yyy.com
Status:Active
New Password (optional):root123
Confirm Password:root123
Role Management--Add:Project of User Role
[b]5.修改超级POM中仓库的地址[/b]
[color=indigo][u]如果某个模块需要发布公用版本,则在本模块的pom中复写distributionManagement,覆盖parent中的仓库配置即可。[/u][/color]
[b]6.使用新创建的用户账户发布项目[/b]
修改用户的settings.xml文件
使用nexus管理多个项目的时候,如果将每个项目的版本都放到release和snapshot仓库中,必然混淆不清。
所以,可以为每个项目单独创建一个release仓库和snapshot仓库。这样管理起来就很方便了。
由nexus提供的release仓库和snapshot仓库可以存储所有项目公用的数据。
[b]1.新建仓库(SNAPSHOT仓库,release仓库,Group组)[/b]
[size=small]创建User项目的release仓库[/size]
Repositories--Add--Hosted Repository
Repository ID:proj-user-relase
Repository Name:project of User release repository
Provider:Maven2
Repository Policy:Release
Deployment Policy:Allow Redeploy
[size=small]创建User项目的SNAPSHOT仓库[/size]
Repositories--Add--Hosted Repository
Repository ID:proj-user-snapshot
Repository Name:project of User SNAPSHOT repository
Provider:Maven2
Repository Policy:Snapshot
Deployment Policy:Allow Redeploy
[b]2.新增权限(权限-->仓库)[/b]
Security--Privilege--Add--Repository Target Privilege
Name:privilege-proj-user-snapshot
Description:privilege of User project SNAPSHOT repository
Repository:project of User snapshot repository
Repository Target:All (Maven2)
Name:privilege-proj-user-realse
Description:privilege of User project relaese repository
Repository:project of User release repository
Repository Target:All (Maven2)
[b]3.创建角色(仓库-->角色)[/b]
Security--Roles--Add--Nexus Role
Role Id:proj_user_role
Name:Project of User Role
Description:User项目的角色
Role/Privilege Management--Add:
privilege-proj-user-snapshot(create,delete,read,update)
privilege-proj-user-realse(create,delete,read,update)
[b]4.创建用户(角色-->用户)[/b]
Security--Users--Add--Nexus User
User ID:root
First Name:xxx
Last Name:yyy
Email:xxx@yyy.com
Status:Active
New Password (optional):root123
Confirm Password:root123
Role Management--Add:Project of User Role
[b]5.修改超级POM中仓库的地址[/b]
[color=indigo][u]如果某个模块需要发布公用版本,则在本模块的pom中复写distributionManagement,覆盖parent中的仓库配置即可。[/u][/color]
<!-- 配置项目发布到私服的哪个仓库中 -->
<distributionManagement>
<!-- 配置SNAPSHOT版本发布的目标仓库 -->
<snapshotRepository>
<id>user-SNAPSHOT</id>
<name>User project release</name>
<!-- user项目的SNAPSHOT版本发布的仓库地址 -->
<url>http://localhost:8081/nexus/content/repositories/proj-user-snapshot/</url>
</snapshotRepository>
<!-- 配置release版本发布的目标仓库 -->
<repository>
<id>user-release</id>
<name>User project release</name>
<!-- user项目的release版本发布的仓库地址 -->
<url>http://localhost:8081/nexus/content/repositories/proj-user-relase/</url>
</repository>
</distributionManagement>
[b]6.使用新创建的用户账户发布项目[/b]
修改用户的settings.xml文件
<server>
<id>user-SNAPSHOT</id>
<username>root</username>
<password>root123</password>
</server>
<server>
<id>user-release</id>
<username>root</username>
<password>root123</password>
</server>