Github如何省略每次输入验证信息
项目开发中经常会遇到 CI 自动拉取 Github 库的情况,我们个人使用的时候会手动输入账户密码信息,但是针对 CI 来说,我们一般会把敏感的认证信息放在环境变量里。所以针对认证信息的自动输入,需要做一些处理。
# 环境变量自动替换
针对 Travis CI,我们一般把认证信息放在环境变量里,所以在执行 clone 其他 repo 的时候,可以先设置认证信息。
git config --global url."https://${CI_USER_NAME}:${CI_USER_TOKEN}@github.com/".insteadOf "https://github.com/"'
1
这样设置的话,会自动替换 git clone 的网址。
# URL 里面写入认证信息
有时候需要以另外一个身份进行 clone repo 的时候,会直接在 repo 的 URL 前面加上认证信息。
git clone https://${USER_NAME}:${USER_TOKEN}@github.com/{username}/{repo}
1
这样可以很方便的 clone 信息,但是认证信息会存在当前库的 git config 文件里,有泄漏的风险。
# netrc 设置
netr 文件用于存储网站的认证信息,一般位置在~/.netrc
。格式是:
machine github.com
login username
password xxxxxxx
1
2
3
2
3
# 总结
总共有这么三种省略认证信息的方式,根据实际情况选择自己方便的一种认证方式即可。
参考: