我已经设置了一个Travis CI来运行一些脚本,这些脚本应该:
第一项有效,第二项无效。
下面是我的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页面中。-当我创建一个标记并推送到master时,它应该将包部署到npmjs。
如前所述,该文件的第一部分工作,因为它实际上部署到GitHub页面。
以下是我从npmjs获得的错误:
npm ERR! publish Failed PUT 401
npm ERR! code E401
npm ERR! You must be logged in to publish packages. : package-name(哦,还有一件奇怪的事情:特拉维斯带着“构建通过”和成功的状态(绿色)回来了,尽管显然出了点问题)
希望这有意义?提前谢谢你的帮助。
发布于 2019-03-08 20:38:04
修正了- instead在travis.yml-file中这样做的问题:
api_key:
secure: THE-API-KEY-I-GOT-BY-CREATING-A-TOKEN-ON-NPMJS-AND-ENCRYPTING-IT-USING-TRAVIS-ENCRYPT-COMMAND-IN-TERMINAL我把它改成:
api_key: "$NPM_TOKEN"..and在Travis仪表板中添加了NPM令牌作为环境变量。
(我仍然很好奇它为什么不起作用,但我不能费心去做些什么,因为我今天已经在这个问题上浪费了太多时间)
发布于 2019-09-02 03:11:44
我也遇到了同样的问题,我刚刚删除了所有以前的键,并再次生成它们,我的代码如下所示:
deploy:
provider: npm
email: $NPM_USER
api_key: $NPM_TOKEN要创建您的NPM_TOKEN,您必须:
然后,可以在相应项目的env变量中指定它。密钥不需要加密,用户是您的电子邮件。就这样吧。
您将收到如下通知:
Installing deploy dependencies
dpl.2
Preparing deploy
dpl.3
Deploying application
+ your-artifact@x.x.xhttps://stackoverflow.com/questions/55069514
复制相似问题