CI环境:一行命令登录npm仓库


写在前边

简单介绍下:如何在Jenkins等CI环境中使用Npm访问需要认证的仓库。

使用 npm login 交互式的输入用户名、密码、邮箱的方式不适合CI环境,使用延迟输入、管道重定向、expect 命令等方式,需要对安装软件或者在仓库响应慢的情况下,也容易登录失败。

本文将带你使用 authToken 的方式,一行命令直接登录指定npm仓库。

获取authToken

authToken 是 npm 用户登陆仓库时,由npm仓库生成返回给客户端,记录到客户端的 ~/.npmrc

首先,设置 npm 仓库

npm set registry <registry-url>

交互式登录仓库,输入用户名、密码、邮箱

npm login

登录完成后,打开用户目录的 .npmrc,Linux在 ~/.npmrc, Windows在 C:\Users\<用户名>\.npmrc中,找到 <registry-url> 对应仓库地址,如图

仓库认证地址前协议被去除,即以 // 开头

将上图中 _authToken= 后引号中间的字符串复制,此为登录用户的 认证token

修改脚本中登录npm仓库命令

以 Jenkinsfile 中脚本举例,其它类似。

npm config set //<registry-url>/:_authToken <authToken>

上图的 ${NPM_AUTH_TOKEN} 在脚本中环境变量处定义,取的 secret text 凭据串

通过以上简单的方式即可完成一行命令登录npm仓库。我们下次更新再见。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM