构建存储在公共库中并需要使用CI的令牌密钥的代码的最佳方法是什么?
问题描述:
我有一个Android项目需要令牌密钥,我将其存储在公共库中。我没有把我的钥匙交给回购。我将我的回购与Travis CI集成起来进行自动化构建。但是,构建过程将失败,因为找不到令牌密钥。我应该如何向CI提供密钥而不将其提交给回购协议?构建存储在公共库中并需要使用CI的令牌密钥的代码的最佳方法是什么?
答
特拉维斯允许您存储加密的环境变量以准确地应用于此场景。见here:
加密环境变量
加密的环境变量与连接到使用
travis
宝石你的资料库公钥:
如果你没有在
travis
宝石安装,运行gem install travis
。在你的资料库目录下,运行:
travis encrypt MY_SECRET_ENV=super_secret --add env.matrix
提交更改到您
.travis.yml
。加密和解密密钥被捆绑到存储库。如果您分派项目并将其添加到Travis CI,它将无法访问加密变量。
加密方案在Encryption keys中有更详细的解释。