使用 github 和密钥
Using github with secret keys
我有一个 Python 脚本,其中包含 Tweeter API 的密钥。我想使用 Github 对我的脚本进行版本控制。如何在上传到 Github 的同时保密我的密钥?即这些
的值
KEY = ""
KEY_SECRET = ""
TOKEN = ""
TOKEN_SECRET = ""
应该保密。也许我可以将它们放在另一个文件中并加载它们,但是 .gitignor'ing 说文件?正确的模式是什么?
# project/.gitignore
passwords.py
# project/passwords.py
GITHUB_KEY = '123'
GITHUB_KEY_SECRET = 'ABC'
GITHUB_TOKEN = '456'
GITHUB_TOKEN_SECRET = 'XYZ'
# project/my_script.py
from passwords import GITHUB_KEY, GITHUB_KEY_SECRET, GITHUB_TOKEN, GITHUB_TOKEN_SECRET
KEY = GITHUB_KEY
KEY_SECRET = GITHUB_KEY_SECRET
TOKEN = GITHUB_TOKEN
TOKEN_SECRET = GITHUB_TOKEN_SECRET
正如 所暗示的那样,一个好主意是将所有机密信息保存在不受版本控制的单独文件中,即:git 不知道。您可以通过将其添加到 .gitignore
文件来执行此操作。
有了这个,您可以安全地将代码提交到 GitHub,每个人都可以在其中看到您的项目 - 但是您的机密信息和密码不会在任何地方被看到!
在您的项目中,您现在可以读取该文件(或导入它)并使用其中包含的信息。
请记住,当您(或其他人)访问此项目时,您必须确保 "secret" 文件存在,因为您的项目依赖于它。
在我的项目中,创建这个 "secret" 文件是部署脚本的一部分。类似于:
echo '{"password": "123"}' > config.json && git checkout master
这行代码将(简单的)设置文件写入 config.json
,然后才从 master 分支中检索最新的代码版本。
我有一个 Python 脚本,其中包含 Tweeter API 的密钥。我想使用 Github 对我的脚本进行版本控制。如何在上传到 Github 的同时保密我的密钥?即这些
的值KEY = ""
KEY_SECRET = ""
TOKEN = ""
TOKEN_SECRET = ""
应该保密。也许我可以将它们放在另一个文件中并加载它们,但是 .gitignor'ing 说文件?正确的模式是什么?
# project/.gitignore
passwords.py
# project/passwords.py
GITHUB_KEY = '123'
GITHUB_KEY_SECRET = 'ABC'
GITHUB_TOKEN = '456'
GITHUB_TOKEN_SECRET = 'XYZ'
# project/my_script.py
from passwords import GITHUB_KEY, GITHUB_KEY_SECRET, GITHUB_TOKEN, GITHUB_TOKEN_SECRET
KEY = GITHUB_KEY
KEY_SECRET = GITHUB_KEY_SECRET
TOKEN = GITHUB_TOKEN
TOKEN_SECRET = GITHUB_TOKEN_SECRET
正如 .gitignore
文件来执行此操作。
有了这个,您可以安全地将代码提交到 GitHub,每个人都可以在其中看到您的项目 - 但是您的机密信息和密码不会在任何地方被看到!
在您的项目中,您现在可以读取该文件(或导入它)并使用其中包含的信息。
请记住,当您(或其他人)访问此项目时,您必须确保 "secret" 文件存在,因为您的项目依赖于它。
在我的项目中,创建这个 "secret" 文件是部署脚本的一部分。类似于:
echo '{"password": "123"}' > config.json && git checkout master
这行代码将(简单的)设置文件写入 config.json
,然后才从 master 分支中检索最新的代码版本。