我已经设置了一个 Travis CI 来运行一些脚本,这些脚本应该:
- 将一些静态页面部署到 Github 页面
- 将 NPM 包部署到 npmjs
第 1 项有效,第 2 项无效。
这是我的travis.yml
文件的样子:
language: node_js
node_js:
- '10'
script:
- gulp build
- gulp npmDist
deploy:
- provider: pages
local_dir: dist-site/
skip_cleanup: true
github_token: "$GITHUB_TOKEN"
on:
branch: master
- provider: npm
email: myemail@mydomain.com
api_key:
secure: THE-API-KEY-I-GOT-BY-CREATING-A-TOKEN-ON-NPMJS-AND-ENCRYPTING-IT-USING-TRAVIS-ENCRYPT-COMMAND-IN-TERMINAL
on:
tags: true
repo: githubaccount/reponame
all_branches: true
我以两种方式触发脚本: - 当我合并到 master 时,它会部署到 GitHub Pages。- 当我创建一个标签并推送到 master 时,它应该将包部署到 npmjs。
如前所述,文件的第一部分有效,因为它实际上部署到 GitHub Pages。
这是我从 npmjs 得到的错误:
npm ERR! publish Failed PUT 401
npm ERR! code E401
npm ERR! You must be logged in to publish packages. : package-name
(哦,还有一件奇怪的事情:Travis 以“构建通过”和成功状态(绿色)返回,即使显然有问题)
希望这有意义吗?提前感谢您的帮助。