Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LearnHub
docker
提交
9b6f2ccc
docker
项目概览
LearnHub
/
docker
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
docker
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9b6f2ccc
编写于
12月 06, 2022
作者:
H
hexiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add nexus3
上级
7fc0befe
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
244 addition
and
0 deletion
+244
-0
README.md
README.md
+2
-0
nexus3/maven/README.md
nexus3/maven/README.md
+42
-0
nexus3/maven/repository/enhanceMavenImport.sh
nexus3/maven/repository/enhanceMavenImport.sh
+111
-0
nexus3/npm/README.md
nexus3/npm/README.md
+75
-0
nexus3/npm/npm-uploadbatch.sh
nexus3/npm/npm-uploadbatch.sh
+14
-0
未找到文件。
README.md
浏览文件 @
9b6f2ccc
...
...
@@ -89,6 +89,8 @@ stream {
# Docker for Linux
> Linux安装docker服务
>
> ⚠ **以下所有操作均以root管理员身份操作!**
## 离线安装
...
...
nexus3/maven/README.md
0 → 100644
浏览文件 @
9b6f2ccc
# 批量上传maven依赖到私服脚本操作
repository文件夹下有
-
需上传的maven依赖包
-
enhanceMavenImport.sh
⚠脚本需要与需上传的maven依赖包在同一个文件夹下!
## windows上传
❗前提:安装好了git,这里不再赘述安装!
进入repository文件夹,右键选择
`git bash here`
,在窗口输入以下命令:
```
shell
sh enhanceMavenImport.sh
-u
<nexus username>
-p
<nexus password>
-r
<nexus maven hosted address>
```
`<nexus username>`
:你nexus私服的用户名(一般都是admin管理员)
`<nexus password>`
:你nexus私服的密码(一般都是admin管理员账号对应的密码)
`<nexus maven hosted address>`
:你maven私服(hosted)的地址
示例:
```
shell
sh enhanceMavenImport.sh
-u
admin
-p
1234
-r
http://10.58.20.199:8081/repository/maven_hosted/
```
## linux上传
-
把repository文件夹下的所有内容上传到Linux服务器
-
cd 到repository文件夹目录下
-
输入以下命令运行脚本(同理更改为你的私服信息)
```
shell
sh enhanceMavenImport.sh
-u
<nexus username>
-p
<nexus password>
-r
<nexus maven hosted address>
```
nexus3/maven/repository/enhanceMavenImport.sh
0 → 100644
浏览文件 @
9b6f2ccc
#!/bin/bash
# author: LinRuChang
# date: 2022-07-27 04:15:00
# desc: nexus上传脚本
# use
# 第一种:sh enhanceMavenImport.sh -l 本地仓库目录绝对路径 -u nexus账号 -p nexus密码 -r 远程私库的URL地址
# sh enhanceMavenImport.sh绝对路径 -l /www/server/maven/repository2 -u admin -p admin123 -r http://192.168.19.107:8082/repository/lrc
#
# 第二种:将此脚本放入本地仓库目录里面,然后执行即可- 【切记本地仓库目录与脚本的路径关系的是父子关系,非孙子辈等关系】
# sh enhanceMavenImport.sh绝对路径 -u nexus账号 -p nexus密码 -r 远程私库的URL地址
if
[[
$1
==
'help'
||
$1
==
'--help'
]]
;
then
echo
"用法: sh
$(
readlink
-f
$0
)
-l 本地仓库绝对路径 -u nexus账号 -p nexus密码 -r 远程仓库URL地址 "
exit
0
fi
while
getopts
":l:r:u:p:"
opt
;
do
case
$opt
in
l
)
LOCAL_REP_DIR
=
"
$OPTARG
"
;;
r
)
REPO_URL
=
"
$OPTARG
"
;;
u
)
USERNAME
=
"
$OPTARG
"
;;
p
)
PASSWORD
=
"
$OPTARG
"
;;
esac
done
# 如果不传-l本地仓库路径,则以当前脚本所在的目录的本地仓库路径
if
[[
-z
${
LOCAL_REP_DIR
}
]]
;
then
#LOCAL_REP_DIR=$(pwd)
LOCAL_REP_DIR
=
$(
readlink
-f
$0
| xargs
dirname
)
fi
echo
"================入参============================="
LOCAL_REP_DIR
=
$(
(
echo
${
LOCAL_REP_DIR
}
|
grep
'.*\(/\)$'
&>/dev/null
)
&&
echo
${
LOCAL_REP_DIR
}
||
echo
${
LOCAL_REP_DIR
}
'/'
)
echo
"待上传的本地仓库地址:
${
LOCAL_REP_DIR
}
"
echo
"Nexus账号:
${
USERNAME
}
"
echo
"Nexus密码:
${
PASSWORD
}
"
REPO_URL
=
$(
(
echo
${
REPO_URL
}
|
grep
'.*\(/\)$'
&>/dev/null
)
&&
echo
${
REPO_URL
}
||
echo
${
REPO_URL
}
'/'
)
echo
"远程仓库URL地址:
${
REPO_URL
}
"
echo
"============================================="
if
[[
${
USERNAME
}
&&
${
PASSWORD
}
&&
${
REPO_URL
}
&&
-d
${
LOCAL_REP_DIR
}
]]
;
then
echo
"入参非空校验通过!!!"
else
echo
"错误:可能Nexus的账号u、密码p、远程仓库地址r信息有缺失,或者本地仓库目录l不存在,请检查"
echo
"用法: sh
$(
readlink
-f
$0
)
-l 本地仓库绝对路径 -u nexus账号 -p nexus密码 -r 远程仓库URL地址 "
exit
1
;
fi
echo
-e
"
\n
================检测远程目录地址网络连通性, 请耐心等待============================="
if
[[
$(
curl
-X
PUT
-w
'%{http_code}'
${
REPO_URL
}
2>/dev/null
)
==
'401'
]]
;
then
echo
"远程仓库【
${
REPO_URL
}
】访问通"
else
echo
"错误:远程仓库【
${
REPO_URL
}
】访问不通, 请检查"
exit
1
;
fi
echo
-e
"
\n
================待上传文件列表展示============================="
# 进入本地仓库,开始检索待上传的文件
cd
${
LOCAL_REP_DIR
}
# 1. 排除脚本本身、以及含archetype-catalog、maven-metadata-deployment、maven-metadata-deployment字符路径的文件
# 2. 最终筛选出的文件剃掉前面的./字符
# 3. 开始一个一个文件调用curl上传
# 特殊字符/添加上转义字符变为 \/
LOCAL_REP_DIR_ESCAPE
=
$(
echo
"
${
LOCAL_REP_DIR
}
"
|
sed
's/\//\\\//g'
)
# 当前目录待上传的文件
findUploadFiles
=
$(
find
.
-type
f
-not
-path
"./
$0
"
-not
-name
'*.sh'
-not
-regex
"
\(
.*archetype-catalog.*
\|
.*maven-metadata-deployment.*
\)\|
.*maven-metadata-local.*"
)
findUploadFilesCount
=
$(
echo
"
${
findUploadFiles
}
"
|
sed
'/^s*$/d'
|
wc
-l
)
if
[
${
findUploadFilesCount
}
-gt
0
]
;
then
#uploadFiles=$(find . -type f -not -path "./$0" -not -name '*.sh' -not -regex "\(.*archetype-catalog.*\|.*maven-metadata-deployment.*\)\|.*maven-metadata-local.*" | sed "s|^\./||")
uploadFiles
=
$(
echo
-e
"
${
findUploadFiles
}
"
|
sed
"s|^
\.
/||"
)
fi
echo
"
$(
[
${
findUploadFilesCount
}
-gt
0
]
&&
(
echo
"
${
uploadFiles
}
"
|
sed
's/^/'
"
${
LOCAL_REP_DIR_ESCAPE
}
"
'&/g'
)
||
echo
''
)
"
echo
"文件个数:
${
findUploadFilesCount
}
"
if
[
${
findUploadFilesCount
}
-eq
0
]
;
then
echo
-e
"
\n
本地仓库无可上传的文件,脚本结束"
exit
0
fi
while
[
true
]
;
do
echo
-e
'\n请检查上述文件路径是否是你需要上传的?【确定上传按y、取消上传按n】'
read
ensureUpload
if
[
$ensureUpload
]
&&
[
$(
echo
$ensureUpload
|
tr
[
a-z]
[
A-Z]
)
==
"Y"
]
;
then
echo
-e
"
\n
================已上传文件列表展示============================="
currentUploadedCount
=
0
#echo "${uploadFiles}" | sed "s|^\./||" | xargs -I '{}' sh -c 'echo 已上传文件: '"${LOCAL_REP_DIR}"'{};echo "========="'
echo
"
${
uploadFiles
}
"
|
sed
"s|^
\.
/||"
| xargs
-I
'{}'
sh
-c
"curl -u '
$USERNAME
:
$PASSWORD
' -X PUT -v -T {}
${
REPO_URL
}
/{} &>/dev/null ; echo '已上传文件:
${
LOCAL_REP_DIR
}
{}'"
echo
'本地仓库文件上传结束,脚本结束'
break
elif
[
$ensureUpload
]
&&
[
$(
echo
$ensureUpload
|
tr
[
a-z]
[
A-Z]
)
==
"N"
]
;
then
echo
"取消上传本地仓库文件,脚本结束"
break
else
echo
-e
"错误:[
${
ensureUpload
}
]非法字符,请根据提示输入对应的内容"
fi
done
nexus3/npm/README.md
0 → 100644
浏览文件 @
9b6f2ccc
# 批量上传npm依赖到私服脚本操作
当前文件夹下有
-
tgz文件夹(
**里面存放要上传的.tgz包**
)
-
npm-uploadbatch.sh
⚠下载到本地后,莫修改当前文件下的相对路径以及文件夹名!
## 修改脚本配置信息
```
shell
#!/bin/bash
targetDir
=
./tgz
publishRestful
=
http://<nexus npm hosed address>/service/rest/v1/components?repository
=
<npm hosed repository name>
echo
">>> 文件所在目录:
$targetDir
<<<"
dir
=
$(
ls
-l
$targetDir
|
awk
'/.tgz$/ {print $NF}'
)
cd
$targetDir
for
file
in
$dir
do
echo
">>>
$targetDir
/
$file
上传开始
\n
"
ret
=
`
curl
-u
<nexus username>:<nexus password>
-X
POST
"
$publishRestful
"
-H
"Accept: application/json"
-H
"Content-Type: multipart/form-data"
-F
"npm.asset=@
$file
;type=application/x-compressed"
`
echo
$ret
echo
">>>
$targetDir
/
$file
上传完成
\n
"
done
```
-
`<nexus npm hosed address>`
:你nexus私服的IP:端口
-
`<npm hosed repository name>`
:你nexus私服的npm(hosted)仓库名
-
`<nexus username>`
:你nexus私服的用户名(一般为admin管理员)
-
`<nexus password>`
:你nexus私服的密码(一般为admin管理员对应的密码)
示例:
```
shell
#!/bin/bash
targetDir
=
./tgz
publishRestful
=
http://10.58.20.199:8081/service/rest/v1/components?repository
=
npm_hosted
echo
">>> 文件所在目录:
$targetDir
<<<"
dir
=
$(
ls
-l
$targetDir
|
awk
'/.tgz$/ {print $NF}'
)
cd
$targetDir
for
file
in
$dir
do
echo
">>>
$targetDir
/
$file
上传开始
\n
"
ret
=
`
curl
-u
admin:1234
-X
POST
"
$publishRestful
"
-H
"Accept: application/json"
-H
"Content-Type: multipart/form-data"
-F
"npm.asset=@
$file
;type=application/x-compressed"
`
echo
$ret
echo
">>>
$targetDir
/
$file
上传完成
\n
"
done
```
## windows上传
❗前提:安装好了git,这里不再赘述安装!
在当前文件夹下,右键选择
`git bash here`
,在窗口输入以下命令:
```
shell
./npm-uploadbatch.sh
```
## linux上传
-
把npm文件夹下的所有内容上传到Linux服务器
-
cd 到npm文件夹目录下
-
输入以下命令运行脚本(同理运行脚本前,将脚本里面的配置信息更改为你的私服信息)
```
shell
./npm-uploadbatch.sh
```
nexus3/npm/npm-uploadbatch.sh
0 → 100644
浏览文件 @
9b6f2ccc
#!/bin/bash
targetDir
=
./tgz
publishRestful
=
http://10.58.20.199:8081/service/rest/v1/components?repository
=
npm_hosted
echo
">>> 文件所在目录:
$targetDir
<<<"
dir
=
$(
ls
-l
$targetDir
|
awk
'/.tgz$/ {print $NF}'
)
cd
$targetDir
for
file
in
$dir
do
echo
">>>
$targetDir
/
$file
上传开始
\n
"
ret
=
`
curl
-u
admin:1234.abcde
-X
POST
"
$publishRestful
"
-H
"Accept: application/json"
-H
"Content-Type: multipart/form-data"
-F
"npm.asset=@
$file
;type=application/x-compressed"
`
echo
$ret
echo
">>>
$targetDir
/
$file
上传完成
\n
"
done
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录