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

Ran*_*ana 7 deployment continuous-integration build-process npm travis-ci

我正在尝试在推送到 master 分支时自动构建我的 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
Run Code Online (Sandbox Code Playgroud)

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

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

这是为什么?我在没有指定任何分支和明确指定“master”分支的情况下都尝试了。

这是travis 构建状态的详细信息。

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

Odi*_*Odi 7

有了tags: true您指定,只有标签的提交将被部署。如果我没记错的话,Travis CI 不会明确检查这样的提交在哪个分支上。因此,要么指定tags: true,然后做一个标记提交指定branch: master,并提交到这个分支触发部署。

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

您可以在Travis CI 文档(类似于GitHub)中找到一条说明:

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

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

如果您使用的是 GitHub:

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