06-nexus私仓环境搭建

简介: 本文介绍Nexus私有仓库环境搭建全过程,包括JDK安装、Nexus OSS版下载与解压、配置文件修改、创建nexus用户并启动服务。详细说明了如何通过Web界面登录、修改默认密码、配置匿名访问,并创建Maven私仓。同时提供上传本地jar包的两种方式,重点演示使用脚本批量导入本地仓库依赖的方法,包含清理无效文件、重命名元数据及执行上传命令等步骤,适用于企业内网构建Maven私服场景。

06-nexus私仓环境搭建

Nexus安装检查服务器上是否安装有 JDK 1.8 +,如果没有则需要下载安装JDK。到sonatype官网下载Nexus Repository Manager OSSnexus有OSS版和PRO版。OSS版开源免费,PRO版需要付费。此处下载OSS版将下载的压缩包放到服务器解压sonatype将Nexus安装包托管到了 Fastly CDN,国内访问Fastly CDN非常卡顿。可能会下载失败,需要多试几次。

解压后会有两个文件夹:nexus-3.69.0-02nexus软件sonatype-worknexus工作目录。该文件夹和nexus软件在相同路径中,最好不要改动。修改nexus的配置编辑 nexus-3.69.0-02/etc/nexus-default.properties 文件。或者编辑sonatype-work/nexus3/etc/nexus.properties文件(推荐)在linux上创建nexus用户:使用nexus用户登录,并启动nexus:浏览器放问nexus启动较缓慢,需要等待一段时间才能连上http://192.168.xxx.xxx:9091/首次登录时修改密码进入nexus的web管理页面后,所有的配置都是只读的,需要登录才能操作点击Sign In 进行登录默认用户名:admin默认密码:在 /home/nexus/sonatype-work/nexus3/admin.password   文件中旧版本Nexus没有该密码文件,默认密码为:admin123首次登录需要修改密码,将密码改为:admin修改密码后,admin.password文件会被自动删除配置是否允许匿名访问(配置为允许)启用匿名访问意味着,用户可以在没有凭据的情况下从仓库搜索、浏览和下载组件。Maven私仓创建maven私仓使用admin登录nexus点击系统管理设置按钮(左上角小齿轮)创建文件夹保存maven数据:进入 Repository -> Blob Stores,create blob store,类型选择File,名称输入my-maven-file,路径会自动生成,也可以自己调整。创建私仓:进入 Repository -> Repositories,create repository,选择 maven2(hosted)(内网无法连接代理,只能为本机Maven)。Name: my-mavenOnline:默认勾选Version policy:选择Mixed(快照版和发布版都允许上传)Layout policy:默认StrictContent Disposition:默认 inlineBlob store:选择刚刚创建的my-maven-fileStrict Content Type Validation:默认勾选Deployment policy:选择 Allow redeploy(允许重复上传)点击Create repository完成创建向maven私仓上传jar包方式1(适合上传单个jar):使用admin登录页面,点击左侧Upload,选择my-maven,将需要上传的jar包上传即可。方式2(适合上传多个jar):将需要上传的自己本地的资源库整体上传。先将本地repository仓库文件夹打成一个完整的zip压缩包上传到nexus服务器上解压zip进入repository目录清理*.lastUpdated、_remote.repositories文件



# 查看所有*.lastUpdated

find . -name '*.lastUpdated' -type f

# 删除*.lastUpdated

find . -name '*.lastUpdated' -type f -exec rm {} +

# 检查

find . -name '*.lastUpdated' -type f


# 查看所有 _remote.repositories 文件

find . -name '_remote.repositories' -type f

# 删除所有 _remote.repositories 文件

find . -name '_remote.repositories' -type f -exec rm {} +

# 检查

find . -name '_remote.repositories' -type f


# 查看所有resolver-status.properties 文件

find . -name 'resolver-status.properties' -type f

# 删除所有 resolver-status.properties 文件

find . -name 'resolver-status.properties' -type f -exec rm {} +

# 检查

find . -name 'resolver-status.properties' -type f


将本地仓库里面所有的maven-metadata-alimaven.xml改名为maven-metadata.xml(alimaven是本地maven的settings文件中设置的镜像仓库名)


find . -name "maven-metadata-alimaven.xml" -execdir mv {} maven-metadata.xml \;

编写 mvnimport.sh 脚本,内容如下


#!/bin/bash

# copy and run this script to the root of the repository directory containing files

# this script attempts to exclude uploading itself explicitly so the script name is important

# Get command line params

while getopts ":r:u:p:" opt; do

   case $opt in

       r) REPO_URL="$OPTARG"

       ;;

       u) USERNAME="$OPTARG"

       ;;

       p) PASSWORD="$OPTARG"

       ;;

esac

done

find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

将私仓文件、sh脚本授权执行shell脚本并传入参数


./mvnimport.sh -u admin -p admin -r http://192.168.xxx.xxx:9091/repository/my-maven/

等全部导入完毕后,在nexus控制台页面刷新即可看到已导入的jar

相关文章
|
2月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
Nexus是一款开源仓库管理工具,支持Maven、NPM、Docker等格式。本文介绍其在Linux与Docker环境下的安装配置,包括JDK部署、OSS版下载、仓库创建、用户权限管理及密码重置方法,并涵盖私服搭建、持久化存储、资源上传与匿名访问设置,助力企业高效构建私有仓库体系。
|
2月前
|
人工智能 前端开发 JavaScript
挤爆字节服务器的Agent到底啥水平?Coze一手实测来了
Coze Agent真能挤爆字节服务器?三天深度实测,从配置到API集成,揭秘其真实性能:指令精准、插件实用,技术写作与代码辅助表现亮眼,但创造力与长文本仍有限。非营销噱头,而是值得开发者投入的高效工具。
|
2月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
本文介绍了Nexus Repository Manager的Linux安装与配置,包括JDK环境搭建、OSS版下载、解压启动、仓库管理及Docker部署方式。详细说明了登录、密码重置、仓库创建、Maven/NPM/Docker私服配置与资源上传等操作,并提供常用命令与配置示例,助力高效搭建私有仓库。
199 0
|
Java Maven
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
7845 0
IDEA 2021 整合 SSM 配置离线 Maven 3.8.1 报错大全 Since Maven 3.8.1 http repositories are blocked.
|
5月前
|
安全 JavaScript 前端开发
安全漏洞检测集成及实践:SAST/DAST工具集成指南
通过合理集成和配置SAST/DAST工具,可以显著提升应用程序的安全性,并在开发早期发现和修复漏洞,降低安全风险和维护成本
510 4
|
Java Linux Shell
使用Nexus搭建Maven私有仓库(私服)
作为一个非常优秀且我找不到合适的替代品的二进制包储存库,功能也是非常强大,不单纯只能设置Maven私有仓库。
1420 0
|
3月前
|
Ubuntu 安全 Linux
Linux网络POP3协议详解(手把手教你配置与使用邮件接收服务)
本文面向新手详细介绍Linux下POP3协议的基本概念及应用,以Ubuntu系统为例,手把手教你安装Dovecot、配置POP3服务并测试运行。涵盖协议原理、命令行操作、防火墙设置与安全建议,助你快速掌握邮件接收协议的配置方法,迈出Linux邮件服务器管理的第一步。
|
2月前
|
Java Maven 数据安全/隐私保护
06-nexus私仓环境搭建
本文详细介绍Nexus Repository Manager OSS的安装与配置,涵盖JDK环境准备、服务部署、用户创建及启动操作。指导用户搭建Maven和Docker私有仓库,实现jar包与镜像的上传下载,并配置匿名访问与本地客户端信任。支持多种仓库类型,适用于企业级制品管理。
182 0
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
缓存 监控 安全
API网关的用途
【8月更文挑战第23天】
756 0