Travis CI:如何在travis.yml

时间:2017-12-10 20:03:26

标签: repository environment-variables yaml

我试图在我的travis.yml中使用一个enviromnet变量,但我得到的只是一个空字符串。我已经为我的存储库设置添加了一个存储库变量DEPLOY_KEY和一些值,现在我尝试像这样访问它:

after_success:
  - "curl -H 'Content-Type: application/json;' -X POST -d '{\"api-key\": $DEPLOY_KEY, \"branch\": $TRAVIS_BRANCH}' https://some.where/deploy"

我期望$ DEPLOY_KEY返回我的密钥,但它只返回一个空字符串,即使Travis在运行构建时执行export DEPLOY_KEY=[secure]。 我想我需要在travis.yml上添加这样的东西:

env:
  - secret: "..."

但我的问题是," ..."究竟?这是我的存储库公钥吗?我无法在文档中找到有关如何在travis.yml中使用存储库变量的任何信息 一些解决方案建议可以使用加密变量,但是,为什么让我能够首先设置存储库变量?

1 个答案:

答案 0 :(得分:2)

https://docs.travis-ci.com/user/encryption-keys/处的文档显示了如何使用加密环境变量。

根据该文档,“...”包含环境变量的名称和环境变量的值。您需要使用travis CLI工具来创建该秘密值。生成该秘密的命令类似于travis encrypt SOMEVAR="secretvalue"