批量上传npm依赖的tgz包至nexus私库中

一、背景:

因公司网络要求,研发人员开发的代码再进行构建时需要使用到互联网的一些包,但是这些包每次构建的时候都需要从外网下载下来,比较耗时,同时因为护网安全等规范要求,所以在公司内部部署一套nexus私库用于存放maven编译和nodejs编译所需的一些包。

二、安装nodejs环境: 

因为这次上传时通过npm publish的方式上传的,所以是需要部署一个nodejs环境。

安装gcc依赖环境: 

[root@localhost ~]# yum install gcc gcc-c++

安装nodejs服务:

[root@localhost ~]# yum install -y nodejs

注:这里是不需要启动nodejs服务的,直接去验证nodejs环境即可。

[root@localhost ~]# node -v
v8.9.4
[root@localhost ~]# npm -v
5.6.0

注:到这里就完成了nodejs环境的部署工作了。

三、验证上传tgz包到nexus私库:

设置nexus私库地址:

[root@localhost ~]# npm config set registry http://192.168.6.181:8989/repository/jh-prod-hosted/

注:这里需要注意一下这个nexus地址是能上传tgz包到地址,并且这个私库的format是npm的,切记,切记。

登入到nexus私库上:

[root@localhost ~]# npm adduser -registry http://192.168.6.181:8989/repository/jh-prod-hosted/
Username: admin
Password: 
Email: (this IS public) changeme@yourcompany.com
Logged in as admin on http://192.168.6.181:8989/repository/jh-prod-hosted/.

 测试上传单个tgz包:

有两种方式上传tgz包

方式一:

[root@localhost ~]# npm publish -registry http://192.168.6.181:8989/repository/jh-prod-hosted/ functional-red-black-tree-1.0.1.tgz 
+ functional-red-black-tree@1.0.1

方式二:

[root@localhost ~]# npm publish  functional-red-black-tree-1.0.1.tgz 
+ functional-red-black-tree@1.0.1

两种方式都可以,根据个人习惯选择,建议选择方式二的方式操作。

四、批量上传tgz包至nexus私库:

批量的方式,就是find符合要求的tgz包,然后通过npm publist方式上传。

命令如下:

find . -type f -name "*.tgz"  | sed "s|^\./||" | xargs -I '{}' npm publish {}  2>&1 | tee -a npm.log

实际自行效果如下:

[root@localhost npm-old]# find . -type f -name "*.tgz"  | sed "s|^\./||" | xargs -I '{}' npm publish {}  2>&1 | tee -a npm.log
+ @ant-design/colors@3.2.2
+ @ant-design/icons-vue@2.0.0
+ @ant-design/icons@2.1.1
+ @antv/adjust@0.1.1
+ @antv/attr@0.1.2
+ @antv/component@0.3.10
+ @antv/coord@0.1.0
+ @antv/g@3.3.6
+ @antv/g@3.4.10
........

最后上传完成之后去nexus私库里查看即可。

到此就可以使用nexus私库里的npm的tgz包里。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiang0615csdn

你对鼓励是我最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值