Jenkins发布私有NPM到Verdaccio

Jenkins和Verdaccio在之前博客文章都做过介绍,这里就不过多描述了,这篇文章主要讲怎么把这两个系统打通,完成私有NPM包的发布。

公司git + 私有Verdaccio,每次发布NPM包,都需要手动发布(超级麻烦),用习惯了GitHub的action,真的是不想手动发布……查了下Verdaccio的文档,发现他是有github-actions,那也就是支持自动发布。

2021-07-05T03:20:30.png

当时在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

2022-04-21T05:53:34.png

这里就可以看到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

添加新评论