GitHub令牌是否可以公开访问Travis CI中的环境变量?

时间:2017-11-08 20:11:13

标签: github encryption token travis-ci

要加密GitHub令牌以在.travis.yml中使用它们,您似乎需要Travis CI CLI工具 - 我现在无法安装。

因此,我没有在我的.travis.yml中放置GitHub令牌,而是在https://travis-ci.org的存储库设置中创建了一个新的环境变量GITHUB_TOKEN,并按照以下方式使用它: / p>

github_token: $GITHUB_TOKEN

现在我可以使用令牌部署到GitHub版本,例如。

这样安全吗?或者Travis CI中的环境变量是否可公开访问?

1 个答案:

答案 0 :(得分:0)

我现在发现:不,一般来说,他们不会公开。是的,如果您遵循一些规则,将它们用于敏感信息似乎是非常安全的。直接引用https://docs.travis-ci.com/user/environment-variables#Defining-Variables-in-Repository-Settings关于环境变量的文档:

  

在存储库设置中定义(...)包含敏感数据的变量,例如第三方凭据。

要记住一些合理的规则:

  1. 最重要的是:在设置中使用ON / OFF开关从日志中隐藏它们。

      

    默认情况下,这些新环境变量的值在日志中的export行中隐藏。这与.travis.yml中加密变量的行为相对应。变量以加密方式存储在我们的系统中,并在生成构建脚本时进行解密。

  2. 如有必要,请使用"正确定义。

      

    这些值直接在您的构建中使用,因此请确保相应地转义特殊字符(对于bash)。特别是,如果值包含空格,则应在该值周围加上引号。例如。 my secret passphrase应写为"my secret passphrase"

  3. 同样重要的是要知道:即使您的环境变量隐藏在日志中,有人仍然可以使用恶意代码向您的存储库提交拉取请求,并以这种方式访问​​变量。因此,拉动请求构建中的变量不可用:

      

    同样,我们不会将这些值提供给不受信任的构建,这些构建由另一个存储库的pull请求触发。