如何快捷又方便使用travis ci平台自动发布前端npm包

244 阅读3分钟

配置.travis.yml

每当travis ci完成一次成功的构建,都可以自动向npmjs.com源发布npm模块。默认情况下,travis会向npmjs.com发布,用户也可以通过package.json文件的publishConfig.registry设置其他的源。

一个简单的配置如下,

如图所示,我们需要配置email和api_key。首先在你本地使用npm addUser命令添加npm账户,如果没有npm账户请先注册一下。

然后打开用户目录下的.npmrc,就会发现每个源都对应一个_authToken,api_key就是它的值。但是如果你把这个秘钥的明文发布到网上肯定是不完全的,所以需要加密一下,想加密就需要安装Ruby的包travis。

安装travis

如果你是第一次使用gem工具的话,运气不好肯定会踩很多坑!

安装命令如下,

gem install travis 不出意外的话,这个命令会运行失败,因为gem自带的源https://rubygems.org不能用,可以用下面的命令查看当前的源确认一下。

gem source -l 现在我们把它删掉,用如下命令,

gem sources --remove rubygems.org/ 然后再添加一个新的源,

gem sources -a gems.ruby-china.com/ 运行完这些命令,不出意外源的话切换工作就完成了。

我们再去运行travis的安装命令,但是还是给我报错,表示没有操作/usr/bin目录的权限。大家如果遇到这个问题,换成如下命令,

gem install travis -n /usr/local/bin/ 换一个安装目录,这个时候travis就安装成功了。

登录

travis安装完成过后,需要先登录,命令如下,

travis login

运行这个命令会让你输入github的账号,如果这个命令登录不好使,可以使用github token登录,命令如下,

travis login --github-token xxxxxxxxxxxxxx 上面的xxxx需要在你的Github账号中生成,操作路径 Settings->Developer settings->Personal access tokens ->generate new tokens。

如果运行以上命令提示你的github账号没有给travis.org授权,而你之前明明已经登录了travis平台,并且已经授权,那为啥还会出现这样的错误呢?

原来Travis CI的网站有两个,travis-ci.org专门针对开源项目,GitHub上所有的公开仓库都能够免费使用;travis-ci.com针对私有及商业项目,新用户前100次构建是免费的,后面就要收费了。很有可能你之前登录的是travis-ci.com,所以这时候你要登录一下travis-ci.org。登录完了,再去运行上面的命令应该就不会有问题了。

加密

登录完成过后就可以在项目中加密authToken了,命令有两种,如下, 18622)

travis setup npm 或者

travis encrypt YOUR_AUTH_TOKEN --add deploy.api_key 运行完成之后,.travis.yml文件的配置就会发生改变,如下,

secure就是加密后的token,你再把.travis.yml提交,此后travis就能帮你自动发布npm包了。

图3中tags表示只有带tag的提交才会被发布到npm,除了tag,还可以声明特定的分支被发布,如下,

deploy: ... on: branch: production