【问题标题】:How to use travis-ci's .travis.yml to provide environment parameters for Node.js Application?如何使用 travis-ci 的 .travis.yml 为 Node.js 应用程序提供环境参数?
【发布时间】:2013-01-06 10:58:24
【问题描述】:

我使用 travis-ci 测试我的 node.js 应用程序。因为应用程序需要用户使用 Access Key 和 Secret Key 登录进行测试,所以我需要在 travis-ci 的 .travis.yml 文件中指定这两个密钥。那么我该怎么做呢?以及如何在Node中获取这些环境参数?

喜欢这两个参数:https://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js#L22

我想像这样在 .travis.yml 中指定它们:

language: node_js
node_js:
  - 0.8
  - 0.6
  - 0.4
env:
  - QINIU_ACCESS_KEY = '2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov' QINIU_SECRET_KEY = 'CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK'

那么我怎样才能从我的这个测试文件中获得 QINIU_ACCESS_KEY 和 QINIU_SECRET_KEY 呢? https://github.com/ikbear/nodejs-sdk/blob/feature/copy_and_move_file/test/rs.test.js

【问题讨论】:

    标签: node.js environment-variables travis-ci


    【解决方案1】:

    更新:Travis 现在通过其网络用户界面支持defining variables directly in build respositories。因此,除非您需要 generate local encrypted variables manually for your .travis.yml file(根据下面的原始答案),否则这似乎是让环境变量与 Travis CI 一起使用的最简单方法。


    我不确定有关 Node.js 的具体细节,但如果您想在 .travis.yml 中使用 QINIU_ACCESS_KEYQINIU_SECRET_KEY 而不是纯文本,请将它们设为 @ 987654323@:

    第 0 步:安装 travis gem(Install Rubygems,如果您还没有安装它;不确定是否有其他方法可以获取 travis 命令或其他方法来执行下面的第 1 步):

    $ gem install travis
    

    第 1 步:加密值,记下结果:

    $ travis encrypt QINIU_ACCESS_KEY=2FRuiVGEsA511NS9pNd2uvuSB3k5ozXE_DHCH8Ov
    $ travis encrypt QINIU_SECRET_KEY=CIRtcmymB3VeIfXebFvYxmMmH9u2oLKW6rffVvoK
    

    第 2 步:将值添加到您的 .travis.yml 文件中:

    env:
      global: 
        - secure: {{ENCRYPTED_QINIU_ACCESS_KEY}}
        - secure: {{ENCRYPTED_QINIU_SECRET_KEY}}
    

    (多个键叫secure没问题)

    下次您的应用通过 Travis 时,您应该会在 Config 行看到:

    环境:QINIU_ACCESS_KEY=[安全] QINIU_SECRET_KEY=[安全]

    更多可能有帮助的 StackOverflow 问答(它在 Ruby on Rails 上下文中,但他们处理这个问题)在这里:

    【讨论】:

    • 伟大而完整的答案!如果您需要设置许多安全的环境变量,在.travis.yml 文件中设置会更容易。我在.env 文件中有很多环境变量,并构建了一个 ruby​​ 脚本来迭代它们并在其上运行 travis 命令。比在 travis Web 界面中复制粘贴要容易一些。
    【解决方案2】:

    阅读这里(在 Travis-CI 中使用环境变量!)--> https://github.com/dwyl/learn-environment-variables#using-environment-variables-with-travis-ci-

    另外,要了解有关 Travis 的更多信息,请阅读此处 (Learn Travis) --> https://github.com/dwyl/learn-travis

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 2020-02-06
      • 2016-03-05
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2020-01-24
      相关资源
      最近更新 更多