CI环境:一行命令登录npm仓库
写在前边简单介绍下:如何在Jenkins等CI环境中使用Npm访问需要认证的仓库。使用 npm login 交互式的输入用户名、密码、邮箱的方式不适合CI环境,使用延迟输入、管道重定向、expect 命令等方式,需要对安装软件或者在仓库响应慢的情况下,也容易登录失败。本文将带你使用 authToken 的方式,一行命令直接登录指定npm仓库。获取authTokenauthToken 是 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仓库。我们下次更新再见。
更多推荐
所有评论(0)