Answers:
Travis具有加密环境变量的功能(“加密环境变量”)。这可以用来保护您的秘密API密钥。我已成功将其用于Heroku API密钥。
您所要做的就是安装travis gem,加密所需的字符串,然后在中添加加密的字符串.travis.yml
。加密仅对一个存储库有效。该travis
命令获取您存储库的公共密钥,然后可以在构建过程中解密该字符串。
gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
这将为您提供以下输出:
Please add the following to your .travis.yml file:
secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="
travis encrypt [args..] [options]
即,您需要这样做travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
。首先放置选项,最后将要加密的数据显示警告。
--add env.global
的travis
命令,它会自动修改你的.travis.yml。
根据这个特拉维斯CI文档中它说:
如果同时安装了Heroku和Travis CI命令行客户端,则可以从项目目录中运行以下命令来获取密钥,对其进行加密并将其添加到.travis.yml中:
travis encrypt $(heroku auth:token) --add deploy.api_key
请参考以下教程,根据您的操作系统安装heroku客户端
存储库设置中定义的变量对于所有构建都是相同的,并且当您重新启动旧构建时,它将使用最新值。这些变量不会自动用于派生。
在“存储库设置”中定义变量:
- 每个存储库都不同。
- 包含敏感数据,例如第三方凭据。
要在“存储库设置”中定义变量,请确保您已登录,导航到有问题的存储库,从齿轮菜单中选择“设置”,然后在“环境变量”部分中单击“添加新变量”。
使用一组不同的API密钥,并以相同的方式进行操作。您的travis框将为您的构建运行进行设置,然后在构建完成后再次完全拆除。在构建过程中,您具有对盒子的root访问权限,因此您可以使用它进行任何操作。