首页 文章

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

提问于
浏览
4

我试图在推送到主分支时自动构建和部署我的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'分支我尝试了两个 .

这是the travis build状态的详细信息 .

任何有关解决此问题的建议/线索表示赞赏 . 提前致谢 .

1 回答

  • 4

    使用 tags: true 指定,将仅部署标记的提交 . 如果我没有弄错的话,Travis CI没有明确检查这样的提交是哪个分支 . 因此,要么指定 tags: true ,那么进行标记提交或指定 branch: master 并提交此分支以触发部署 .

    但是使用这两种语句都行不通 .

    您可以在Travis CI documentation中找到一个注释(类似于GitHub),说明:

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

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

    如果您正在使用GitHub:

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

相关问题