【问题标题】:Skipping deployment with the npm provider because this branch is not permitted to deploy跳过与 npm 提供程序的部署,因为不允许部署此分支
【发布时间】:2015-03-02 14:34:00
【问题描述】:

我正在尝试在推送到 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

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

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

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

这里是the travis build的详细状态。

感谢任何解决此问题的建议/线索。提前致谢。

【问题讨论】:

    标签: deployment continuous-integration npm build-process travis-ci


    【解决方案1】:

    使用您指定的tags: true,只会部署标记的提交。如果我没记错的话,Travis CI 不会明确检查这样的提交在哪个分支上。所以要么指定tags: true,然后进行标记提交指定branch: master并提交到该分支以触发部署。

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

    您可以在Travis CI documentationGitHub 类似)中找到一条说明:

    tags:当设置为true 时,应用程序会在将标记应用于提交时部署。 (由于有known issue,你还应该设置all_branches: true。)

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

    如果您使用的是 GitHub:

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

    【讨论】:

    • 感谢您的提示。但是,我只尝试了'tags:true',没有分支定义,但不幸的是,这也不起作用。但是,现在,我尝试只使用没有标签定义的分支定义,这很有效!那么标签有什么问题呢?!
    • @Rana 我刚刚在文档中找到了答案,请参阅我关于all_branches: true的更新
    • 啊!我不知何故错过了。谢谢!
    猜你喜欢
    • 2014-10-01
    • 2019-11-28
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    相关资源
    最近更新 更多