Jenkins发布私有NPM到Verdaccio
Jenkins和Verdaccio在之前博客文章都做过介绍,这里就不过多描述了,这篇文章主要讲怎么把这两个系统打通,完成私有NPM包的发布。
公司git + 私有Verdaccio,每次发布NPM包,都需要手动发布(超级麻烦),用习惯了GitHub的action,真的是不想手动发布……查了下Verdaccio的文档,发现他是有github-actions,那也就是支持自动发布。
当时在action上发布NPM包的时候,他是有token的概念,也就是只需要在发布的时候,携带token就可以自动发布,那么Verdaccio应该也是有token的概念!
在获取token之前,需要先配置一下Verdaccio的token过期时间:
security:
api:
jwt:
sign:
expiresIn: 9999d
notBefore: 0
web:
sign:
expiresIn: 7d
配置好之后,重启服务,token就不会失效了。
然后,先在终端登录Verdaccio,登录之后,输入
npm token create
这里就可以看到token了。
然后到需要发布npm包的根目录新建一个.npmrc
的文件,把生成的token,复制到.npmrc
中,这样在发布的时候只需要执行npm publish
就可以了。
参考:
https://www.npmjs.cn/cli/token/
https://docs.npmjs.com/using-private-packages-in-a-ci-cd-workflow