1、nexus的权限管理
nexus中的每个用户可以分配多个角色,然后每个角色可以有多个权限,每个权限代表一种功能。比如浏览依赖,部署发布包,等等
nexus有三个默认的用户
- admin(管理员账号),密码为admin123
- deployment:可以搜索和部署,是普通的开发账号,密码是deployment123(在nexus 3.x最新版本里已经被消除掉了,需要手动创建)
- anonymous:在没有给认证信息的情况下,就是这个匿名账号,可以下载和查看依赖。
(1)新建角色
(2)新建用户
此时deployment就是专门用来部署的账号
2、部署自己的项目
(1)发布仓库相关配置
需要在pom文件中配置需要发布到哪个仓库,如下所示
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
(2)部署账号的配置
nexus的普通用对xexus仓库是只读的,不能部署发布包,所以如果要实现部署发布包的功能,还需要在settings.xml文件里通过元素配置使用专用的部署用户,来通过认证,进行发布包的部署。
<servers>
<server>
<id>nexus-releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
最后可以通过mvn clean deploy将项目部署到私服中
最后是对极少数的lar包手动上传,比如说第三方支付厂商的jar包
首先添加如下配置
<servers>
<server>
<id>nexus-3rd-party</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
最后执行类似如下的命令
mvn deploy:deploy-file -DgroupId=com.csource -DartifactId=fastdfs-client-java -Dversion=1.24 -Dpackaging=jar -Dfile=F:\DevelopmentKit\fastdfs_client_v1.24.jar -Durl=http://localhost:8081/repository/3rd-party/ -DrepositoryId=nexus-3rd-party