Nexus Oss 安装配置文档 本文档基于oss3.x版本编写,包含maven私服和npm私服的配置
私服默认账户 admin/admin123
一、Maven私服搭建 1. 配置用户权限(网页操作) 2. 配置settings.xml 增加,
1 2 3 4 5 <server > <id > ID</id > <username > USERNAME</username > <password > PASSWORD</password > </server >
3. 上传依赖到远程代码库
注意:不能将jar文件或者pom文件指定为本地代码仓库的文件,否则会报错Cannot deploy artifact from the local repository。具体原因待查
- 上传单个依赖到远程代码库 1 2 3 4 # 第一种方式 mvn deploy:deploy-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.45 -Dpackaging=jar -Dfile=/Users/tobbyquinn/Desktop/mysql-connector-java-5.1.45.jar -DrepositoryId=sinosoft -Durl=http://10.1.105.169:8081/repository/maven-releases/# 第二种方式 mvn deploy:deploy-file -Durl=http://10.1.105.169:8081/repository/maven-releases/ -Dfile="/Users/tobbyquinn/Desktop/mysql-connector-java-5.1.45.jar" -DgeneratePom=false -DpomFile="/Users/tobbyquinn/Desktop/mysql-connector-java-5.1.45.pom"
一定记住:url一定要为maven-relases或maven-snapshot,不能为group组如maven-central,否则报错 HTTP.405,PUT method not allowed
- 上传工程所有依赖到本地代码库
导出pom的所有依赖
1 mvn -Dmdep.copyPom=true dependency:copy-dependencies
遍历并上传
1 for pom in target/dependency/*.pom; do mvn deploy:deploy-file -Durl=http://10.1.105.169:8081/repository/maven-releases/ -Dfile="${pom%%.pom}.jar" -DgeneratePom=false -DpomFile="$pom" -DrepositoryId=ID;done
- 部署工程到远程代码仓库 修改pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 <distributionManagement > <repository > <id > ID</id > <name > 部署release到nexus</name > <url > http://10.1.105.169:8081/repository/maven-releases/</url > </repository > <snapshotRepository > <id > ID</id > <name > 部署snapshot到NEXUS</name > <url > http://10.1.105.169:8081/repository/maven-snapshots/</url > </snapshotRepository > </distributionManagement >
- 从远程代码仓库下载依赖 同上,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <profiles > <profile > <id > dev</id > <repositories > <repository > <id > sinosoft</id > <name > repo-public</name > <url > http://10.1.105.169:8081/repository/maven-public/</url > <releases > <checksumPolicy > warn</checksumPolicy > <enabled > true</enabled > <updatePolicy > always</updatePolicy > </releases > <snapshots > <checksumPolicy > warn</checksumPolicy > <updatePolicy > never</updatePolicy > <enabled > true</enabled > </snapshots > </repository > </repositories > </profile > </profiles >
开启activeProfiles=
二、Npm私服搭建
注意oss 2.x版本不支持对 scoped packages(如@types)的支持
配置npm-hosted,存储公司内部依赖
配置npm-proxy,存储外部镜像源依赖
配置npm-group,将以上两个仓库添加进去即可
客户端仓库地址填写以下地址即可(如无特殊需求,只需关注group类型)
Realms授权 npm Bearer Token Realm
Npm发布内部依赖到私服
一定要记住发布包到 hosted 仓库位置
修改镜像源地址
1 npm set registry ///repository//
登录
1 2 npm adduser --registry=http:// 192.168 .180.194 :8082 /repository/ npm-private/ npm login --registry=http:// 192.168 .180.194 :8082 /repository/ npm-private/
发布
1 npm publish --registry=http:// 192.168 .180.194 :8082 /repository/ npm-private/