使用 Nexus 搭建 Maven 私服
一、Nexus 服务的安装
Nexus 既可以使用传统的二进制包进行安装,也可以使用 Docker 容器的方式进行安装运行。下面分别介绍这两种方法。
-
使用二进制发行包安装
-
因为网络问题,不能通过官网下载,通过搜索国内网站进行安装包下载,以Linux安装包为例;
-
将下载下来的压缩包上传到服务器(比如 /usr/local/nexus 目录下),然后进行解压:
tar -zxf nexus-3.21.2-03-unix.tar.gz
-
解压后会得到两个文件夹:nexus-3.21.2-03(nexus 服务目录)、sonatype-work(私有库目录)
-
进入 nexus-3.21.2-03 文件夹,其中 etc/nexus-default.properties 文件配置端口(默认为 8081)和 work 目录信息,我们可以按需修改。
cd nexus-3.21.2-03``cat etc/nexus-``default``.properties
- 然后执行如下命令开放 8081 端口:
firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --reload
- 最后执行如下命令启动服务即可,注意不建议使用 sudo 执行启动:
cd bin
./nexus start
二、配置
- Nexus 服务启动以后,我们使用浏览器访问 http://IP:8081/,点击右上角登录按钮:
- 首次登录会提示密码保存在 /usr/local/sonatype-work/nexus3/admin.password 文件中,我们查看服务器上这个文件内容,然后作为密码登录:
- 登录后会让我们设置新的密码(这里我设置为 123):
点击左上角的设置按钮创建repository仓库
创建maven2(hosted)仓库
点击进入创建仓库界面 填写仓库名称 移动至下方 选择 save保存
批量上传脚本编写
vim ./bacthimports.sh #创建脚本文件
nd run this script to the root of the repository directory containing files
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 './bacthimports\.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}/{} ;
#授权
chmod 777 -R batchimports.sh
#上传需要上传到私服的jar压缩包到服务器某个目录
unzip repository.zip
#执行脚本
./batchimports.sh -u username-p password-r http://127.0.0.1:8081/repository/nexus-release/
网友评论