【问题标题】:Encrypted key unauthorized for continuous deployment Travis → Heroku加密密钥未经授权用于持续部署 Travis → Heroku
【发布时间】:2014-02-27 13:49:54
【问题描述】:

我正在尝试配置 CoinsManager,以便在 Travis 持续集成之后自动部署 the alpha version

这是我们的 .travis.yml 文件:

language: node_js
node_js:
- '0.10'
before_install:
- make install
services:
- mongodb
deploy:
  provider: heroku
  app: coinsmanager
  api_key:
    secure: "FjcbJdgcB1IIug3Qf5oFlF5PHW8LYnIUJCSUEz7GI5i6tVvtye1UvqkA12BP+//u3rtPcO3d33rjNY5/qvIRIdJ/wMKACAHdzRa8jWge2dxW7filynF6LVsh5ezwr7Sq/MgNwvqQcRp7eQNsOlBzdZRyQYE0VAa4fAD1+SZPnWQ="
  on:
    all_branches: true
after_deploy:
- "cd app/client/compass && compass compile && cd -"
- "cd app/ && meteor reset"
- restart

问题是 Travis 报告the following error

Expected(200) <=> Actual(401 Unauthorized)
body: "{\"id\":\"unauthorized\",\"error\":\"Invalid credentials provided.\"}" (wrong API key?)
failed to deploy

但我确实像the doc推荐的那样

$ travis encrypt $(heroku auth:token) --add deploy.api_key

按照in that Github issue 的建议,我还尝试了稍微不同的情况(有或没有破折号和双引号)。

我不确定问题出在哪里:Travis? Heroku?

【问题讨论】:

    标签: heroku meteor travis-ci


    【解决方案1】:

    我解决了我的问题。

    我们在 CoinsManager/CoinsManager 有上游仓库,我在 Fandekasp/CoinsManager 分叉了它。当运行 travis encrypt 时,travis 会从我的原始远程获取 repo 名称,而不是查询 heroku git repo。

    因此,我需要指定正确的 repo,如下所示:

    $ travis encrypt -r CoinsManager/CoinsManager $(heroku auth:token) --add deploy.api_key
    

    【讨论】:

    • 你能看看我的构建here。我错过了什么?我几乎尝试了您在问题中提到的所有内容以及您接受的答案,但仍然没有奏效。如果我指定您提供的确切答案,我会得到this
    • 我修好了。我的deploy script 中缺少一行作为应用程序名称。我确实运行了setup heroku --org --force,并通过正确响应提示添加了该行。谢谢
    • 我如何指示我的.travis.yml 文件使用特定的捆绑器,就像我们指定程序版本一样?
    猜你喜欢
    • 1970-01-01
    • 2012-08-02
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    相关资源
    最近更新 更多