我正在编写一个shell脚本,将代码从我的“测试”分支推送到我的“主”分支。我正在使用Travis-CI来测试我的代码并运行shell脚本,每次将新提交推送到“测试”时都会启动它。我可以看到在Travis-CI作业日志中运行的shell脚本,但是我收到以下错误:
remote: Invalid username or password.
fatal: Authentication failed for '<repo>'
我知道这是我的密码无效,因为我之前在脚本中配置了用户名和电子邮件。
现在,我的主要问题是我应该如何以及在哪里存储我的github O-Auth密钥?我不想将它硬编码到我的shell脚本中,因为那样每个人都能看到它。关于如何创建脚本来推送我的代码而不泄露我的密码的任何想法?
答案 0 :(得分:0)
将您的秘密放入您可以在脚本中引用的环境变量中。
导出MY_OAUTH =&#39;某些oauth键&#39;
然后你可以在你的脚本中使用变量$ MY_OAUTH。
如果你想让环境变量永久化,请看:
https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables
答案 1 :(得分:0)
Travis提供了一种加密/解密文件和变量的工具,以便在构建过程中使用。最简单的方法是通过travis的项目的Web界面。点击More options -> Setttings
,您就会看到一个表单来输入名称/值对。然后你可以直接使用输入的名字,但要确保你正确地逃脱特殊字符等。
Travis docs