跳过使用 npm 提供程序的部署,因为不允许部署此分支



我正在尝试在推送到主分支时自动构建 npm 包并将其部署到 npm 注册表。

这是我.travis.yml文件内容:

language: node_js
node_js:
- '0.11'
- '0.10'
deploy:
  provider: npm
  api_key:
    secure: XXX
  on:
    tags: true
    branch: master

生成成功运行,但部署失败,并显示以下消息:

跳过使用 npm 提供程序的部署,因为不允许部署此分支。

为什么?我在没有指定任何分支和显式指定"master"分支的情况下尝试了这两种方法。

以下是特拉维斯构建状态的详细信息。

任何解决此问题的建议/线索将不胜感激。提前谢谢。

根据您指定的tags: true,将仅部署标记的提交。如果我没记错的话,Travis CI 没有明确检查这样的提交在哪个分支上。因此,要么指定tags: true,然后进行标记提交,要么指定branch: master并提交到此分支以触发部署。

但是同时使用这两个语句是行不通的。

您可以在 Travis CI 文档(类似于 GitHub)中找到一条注释,指出:

tags:当设置为 true 时,当将标记应用于提交时,将部署应用程序。(由于已知问题,还应设置 all_branches: true

所以正确的答案是指定一个分支或使用 tags: trueall_branches: true .

如果您使用的是 GitHub:

请注意,部署 GitHub 版本仅适用于标签,不适用于分支。

相关内容

最新更新