我试图在我的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中使用存储库变量的任何信息 一些解决方案建议可以使用加密变量,但是,为什么让我能够首先设置存储库变量?
答案 0 :(得分:2)
https://docs.travis-ci.com/user/encryption-keys/处的文档显示了如何使用加密环境变量。
根据该文档,“...”包含环境变量的名称和环境变量的值。您需要使用travis CLI工具来创建该秘密值。生成该秘密的命令类似于travis encrypt SOMEVAR="secretvalue"