上下文:
我已经开源了一个由 Travis-CI 测试的存储库。Travis 为测试运行提供了构建通知挂钩,因此您可以在 IRC、Flowdock、Campfire 和 HipChat 中获得通知。要配置这些钩子,您必须将设置添加到您的.travis.yml
配置文件中,该文件是公开的。对于 Hipchat,它看起来像这样:
notifications:
hipchat: [api token]@[room name]
如果我只是将我的令牌以纯文本形式放在那里,每个人都可以看到我的 API 令牌并访问/发送垃圾邮件我的聊天室。这就是 Travis 添加安全环境变量的原因。基本上,您可以使用您的密钥加密字符串并将它们专门绑定到存储库,因此 Travis 可以访问秘密 API 密钥。
你在本地做什么:
gem install travis
travis encrypt github-user/repo MY_SECRET_ENV=super_secret
你投入了什么.travis.yml
secure: <encrypted string here>
问题:
不幸的是,文档并不过分冗长,谷歌没有帮助,stackoverflow 也没有帮助,我无法让它工作。
travis encrypt github-user/repo HIPCHAT=super_secret
secure: <encrypted string here>
notifications:
hipchat: <%= ENV['HIPCHAT'] %>@hipchat-room
由于这不起作用,我去了freenode上的travis irc,这就是他们的建议
travis encrypt github-user/repo key@hipchat-room
notifications:
hipchat:
secure: <encrypted string here>
正如您可能已经猜到的(为什么我要再次写这个问题?)这也不起作用。我希望你能帮我解决这个问题。非常感谢
编辑:我很怀疑自己。我对 API 密钥进行了三次检查,它正在工作。这取决于特拉维斯。
2编辑:因为这似乎是一个错误,这里是相应的GitHub 问题