超详细图文教程,npm 接入 travis ci 发包
操作流出
0、注册travis账户,并授权github访问权限
1、初始化工作
1.1 安装travis
的 cli 工具
1 | $ sudo gem install travis |
1.2 项目根目录新建一个空的.travis.yml
文件。
2、获取 npm auth token
npm auth token
的作用就是让 travis 获取你的 npm 权限,有能力进行发布版本。
2.1 本地登陆 npm。(如果已经登陆过可以跳过,没注册的可以在链接注册)
1 | # tips: 如果之前把npm源设置成非官方源的话,需要切回官方源,再登陆 |
2.3 获取auth token
。
文档中介绍了两种获取token
的方法,我们选择一种就可以
到https://www.npmjs.com/settings/username/tokens/
中create new token
。选择read and publiush
.复制 token
然后使用travis cli
对生成 npm 配置(这一步需要在项目根目录进行)
1 | # 先登陆 |
这一步,有可能因为ruby
和cli
的版本问题会导致no implicit conversion of nil into String.for a full error report, run travis report --pro
的失败。issue。这时候我们可以直接到travis用户设置中中,复制我们的API authentication
token,手动添加到~/.travis/config.yml
文件。
验证是否登陆成功
1 | $ travis accounts --pro |
1 | $ travis setup npm --pro# 生成npm配置,有一步的api key就是输入的刚才的`npm auth token`,选择`加密`,然后会自动生成类似如下的内容在yml中 |
完成后,会生成如下的初始配置。表示master上的打tag都会触发npm
发包的操作
1 | language: node_js |
此时,执行npm version xxx
,会按如下规则,自动 commit+tag,推送到远程,即可触发自动发布。方便起见可以我们设置 npm 钩子。(postversion 的意思就是,输入完npm version xx
后,会自动执行的命令)
1 | # npm 版本号 |
1 | "scripts": { |
此时,到github
和CI
上可以,看到,我们的操作成功了
有可能遇到的坑总结
-
npm
登陆记得切回官方源
如果之前切换了taobao
源等相关非官方源,会导致npm
登陆、发布失败,执行npm config set registry http://www.npmjs.org
切换回官方源。(推荐使用nrm对源就行管理)
上文所有提到的所有涉及
travis cli
的命令都需要加pro
,(这里文档也没写清楚,很容易踩坑。。自己就是这里掉坑了)代表是我们使用travis-ci.com
而不是travis-ci.org
,com
和org
采用了不同的方案,如果com
使用了没添加--pro
参数的命令,会导致发布失败等错误。(如果旧项目使用了travis-ci.org
,可以一键迁移到travis-ci.com
,官方公告中也说明新项目只能使用travis-ci.com
)。travis login --pro
失败。需要手动配置api token
,上文已经提到过
原文地址,码字不易,你的点赞是我最大的动力
- Post title:都 2020 年了,你还在手动发布 npm 包吗
- Post author:flytam
- Create time:2020-03-08 22:00:35
- Post link:https://blog.flytam.vip/都 2020 年了,你还在手动发布 npm 包吗.html
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.