公司的repository仓库地址发生变更,jar包由以前的index模式变成了sonatype nexus管理… -----------> > sonatype nexus官方网站链接 官网文档quick-start-guides
Sonatype nexus 是sonatype公司的一款制品管理工具,自身提供了OSS 开源免费版及PRO商业版。这这里笔者主要学习的为OSS(免费真香)。
Nexus提供了二进制部署及镜像部署这两种方式, 二进制部署可通过https://help.sonatype.com/repomanager3/download/download-archives—repository-manager-3 下载, 镜像可通过https://hub.docker.com/r/sonatype/nexus3/tags/ 进行下载
CPU:最少为4,推荐为8+ 内存:建议8G起步,规模大可考虑16G甚至是32G+ JAVA:JDK8 句柄数:至少为65536 磁盘空间:多多益善,官方建议500G
windows部署:参考文档
1、 创建程序用户
useradd nexus2、 修改句柄数 在 /etc/security/limits.conf 中添加
nexus - nofile 655363、 重启服务
reboot4、 部署java
tar zvxf jdk-8u231-linux-x64.tar.gz mv jdk-8u231 /opt/jdk修改 /etc/profile
export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar保存后执行 source /etc/profile 5、 部署nexus
cd /opt wget http://download.sonatype.com/nexus/3/nexus-3.24.0-02-unix.tar.gz tar zvxf nexus-3.24.0-02-unix.tar.gz mv nexus-3.24.0-02 nexus cd nexus/bin在nexus 中修改第14行
# INSTALL4J_JAVA_HOME_OVERRIDE=为java的部署路径否则有概率启动报错 在nexus.rc中修改为
run_as_user="nexus”在/opt/nexus/etc/nexus-default.properties中可修改默认端口(可选) 修改文件权限
chown -R nexus:nexus /opt/nexus chown -R nexus:nexus /opt/sonatype-work切换用户,启动服务
su nexus cd /opt/nexus/bin ./nexus start即可完成部署 PS:一般情况下默认的登录信息为admin/admin123,不过有的时候会提示密码错误,这个时候就需要找一下/opt/sonatype-work/nexus3目录下的admin.password文件,使用该密码登陆后会提示用户设置admin密码。
登录nexus后,可以按照如下顺序点击,即可创建私服仓库了。 可以看到支持的存储种类是非常多的 仓库类型主要分为
proxy:代理公网上的仓库,比如maven的中央仓库,node的阿里镜像
hosted:本地仓库,一般是私有仓库,用于发布自己公司开发的制品
group:组,把几个仓库结合在一起,方便下载制品
1、选择npm(proxy) 2、命名并输入代理地址,保存 3、本地配置npm config或npm install时指定为私服代理 4、安装成功后产看代理仓库,发现已经缓存下来刚刚安装的node依赖了
1、以maven(hosted)为例
选择maven2(hosted)仓库 2、配置仓库名,仓库中可保存包的version规则,上传规则后保存。 其中vesion规则里面,release为发布版,snapshot为快照版,mixed为混合,建议release和snapshot分开保存,同时严格遵守版本规则。其中发布版release突出其稳定性,所以禁止redeploy,如果包变更,请升级版本号。
3、配置完毕的仓库(私服) 4、上传jar包
方案一:有项目源码时,通过maven命令,打包源码后上传,在构建时,可在settings.xml中配置Repository标签和server标签,然后通过mvn deploy命令上传到对应私服仓库。
方案二:通过调用接口上传
POST /service/rest/v1/components
curl -v -u admin:admin123 -X POST ‘http://192.168.1.62:8081/repository/example_maven_release/’ -F maven2.groupId=com.google.guava -F maven2.artifactId=guava -F maven2.version=24.0-jre -F maven2.asset1=@guava-24.0-jre.jar -F maven2.asset1.extension=jar -F maven2.asset2=@guava-24.0-jre-sources.jar -F maven2.asset2.classifier=sources -F maven2.asset2.extension=jar
方案三:在只有j制品时,通过maven命令直接上传
mvn deploy:deploy-file -Dfile=guava-24.0-jre.jar -DpomFile=guava-24.0-jre.pom -Dpackaging=jar -DrepositoryId=bxbank_privrepository_snapshots -Durl=http://192.168.1.62:8081/repository/example_maven_release/
1、创建以npm(group)为例
npm因自身有多个代理可选择,所以可以选择group的模式来实现配置后可从多个npm代理中下载依赖的目的
创建npm group 2、配置组名及npm组中需要的代理及私服
持续更新。。。