如何使用travis加密来加密browserstack密钥?

时间:2018-01-07 22:43:58

标签: travis-ci browserstack travis-ci-cli

我无法将我的browserstack凭据用于Travis。如果我不加密密钥并通过仅使用环境变量从本地触发构建,则凭证在本地工作。

我正在使用travis encrypt,此处指示:https://docs.travis-ci.com/user/browserstack/但我不确定我是否正确使用它并且很难找到有关该命令的文档。

如果我的browserstack密钥是foo,那么命令应该是:

travis encrypt foo

travis encrypt BROWSERSTACK_ACCESS_KEY=foo

travis encrypt BROWSERSTACK_ACCESS_KEY="foo"

还是其他什么?我正在使用命令的输出并将其放在.travis.yml的末尾,如此:

addons:
  browserstack:
    username: "myusername"
    access_key:
      secure: "encryptedkey"

但我一直在我的Travis构建中获得Browserstack access_key is invalid.

1 个答案:

答案 0 :(得分:1)

由于Travis使用bash来评估这个(iirc),你应该使用单引号,因为bash不会在单引号内扩展特殊字符。并且您可能还可以将整个事物用双引号括起来以获得良好的衡量标准,因此这应该有效:

travis encrypt "BROWSERSTACK_ACCESS_KEY='foo'"

另外,如果我理解你正确使用这个秘密,你应该做这样的事情而不是配置插件:

secure: "$BROWSERSTACK_ACCESS_KEY"