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 构建状态的详细信息。
任何解决此问题的建议/线索表示赞赏。提前致谢。
有了tags: true您指定,只有标签的提交将被部署。如果我没记错的话,Travis CI 不会明确检查这样的提交在哪个分支上。因此,要么指定tags: true,然后做一个标记提交或指定branch: master,并提交到这个分支触发部署。
但是使用这两个语句是行不通的。
您可以在Travis CI 文档(类似于GitHub)中找到一条说明:
tags: 设置为 时true,应用程序会在标记应用于提交时部署。(由于已知问题,您还应该设置all_branches: true。)
所以正确的答案是指定一个分支或使用tags: true和all_branches: true。
如果您使用的是 GitHub:
请注意,部署GitHub Releases 仅适用于标签,不适用于分支。