nexus 可以用来做什么?
搭建 maven, npm, docker 私服
搭建私服有什么用?
- 缓存依赖结果,加快二次依赖下载
- 共享公司内部的开发组件
- 减少外部网络环境对开发影响
私服搭建
下载
官网无法下载,可以从网盘获取
提取码: h9q6
解压后得到这两个文件夹
nexus-3.x:该目录中包含了 Nexus 3.x 运行所需要的文件,如启动脚本、依赖 jar 包等。
sonatype-work:该目录中包含了 Nexus 3.x 生成的配置文件、日志文件等。
打开nexus-3.x/bin 目录,其中nexus.exe 是可执行文件
使用管理员运行cmd:
安装服务:nexus.exe /install
启动服务:nexus.exe /start
带控制台的启动服务:nexus.exe /run
停止服务:nexus.exe /stop
卸载服务:nexus.exe /uninstall
安装好服务后,就可以在服务面板看到该服务了
通过 http://localhost:8081/ 可以访问 nexus 界面了
默认账号: admin
默认密码在 sonatype-work\nexus3\admin.password文件中
首次登录之后,会要求你修改密码,这里我改为如下密码
密码改为: Nexus
紧接着还会提示你这个是否允许匿名访问,这个根据你的需求来选择即可
如果想修改访问端口或ip可以在sonatype-work\nexus3\etc\nexus.properties中修改
搭建 npm 私服
Not Found Cache TTL 表示当一个文件没有找到后,缓存这一不存在的信息的时间。以默认值1440分钟为例,如果某文件不存在,那么在之后的1440分钟内,如果Nexus再次得到该文件的请求,它将直接返回不存在的信息,而不会查找文件系统。
npm install --force
可以忽略这个TTL,改为强制重新下载
创建npm-hosted ,用于发布个人开发的npm组件
创建npm group,用于把几个仓库组组合在一起公开连接使用
修改本地npm镜像地址为npm group的地址
npm set registry http://localhost:8081/repository/npm-public/
npm get registry
http://localhost:8081/repository/npm-public/
发布自己的npm组件到私服
npm login –registry=http://localhost:8081/nexus/repository/npm-hosted
# 此时会要求输入nexus的账号和密码
发布npm组件
npm publish –registry=http://localhost:8081/nexus/repository/npm-hosted
搭建 maven 私服
创建maven-hosted用于发布个人jar
maven使用,将项目上传到私服,将第三方jar上传到私服,将私服的项目下载到本地_mirror里的id对应的是哪个标签里的id-CSDN博客
nexus相关问题解决
nexus依赖下载超时,导致npm从nexus下载依赖时提示找不到 xxx 依赖问题
修改配置,增加超时时间(修改完后,记得重启nexus)
<nexus-dir>/bin/nexus.vmoptions
-Dnetworkaddress.cache.ttl=60
<nexus-dir>/etc/nexus.properties
nexus.s3.connection.ttl=60s
重启完之后,再次下载依赖,记得强制下载,避免使用缓存,导致再次出现找不到 xxx 依赖问题
npm install --force