我有一个Django项目,设置为通过设置我的环境变量然后使用os.environ [' SECRET_KEY']将SECRET_KEY保留在settings.py之外。我还使用travis ci安全加密环境变量,以便让我的django项目的SECRET_KEY可供travisci使用。 travisci在我的github帐户上成功构建。但是,当尝试使用此错误运行python manage.py migrate / test时,travisci构建将在其他任何使用代码的代码上失败:
SECRET_KEY = os.environ['SECRET_KEY']
File "/home/travis/virtualenv/python3.6.3/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'SECRET_KEY'
在settings.py中我有这一行:
SECRET_KEY = os.environ['SECRET_KEY']
.travis.yml文件如下所示:
language: python
python:
- 3.6
env:
global:
- secure: # encrypted string for SECRET_KEY
- secure: # encrypted string for another settings KEY
- secure: # encrypted string for another settings KEY
install:
- pip install -r requirements/requirements.txt
script:
- flake8 --count --quiet
- python manage.py migrate --run-syncdb
- python manage.py test
有没有人知道创建加密的travis ci env变量是否存在问题,并让其他人分叉代码也使用这些变量?我无法弄清楚它为什么适合我,并且根本没有任何其他github帐户使用相同的代码的分支。
答案 0 :(得分:0)
他们是否从.bashrc中导出了自己的密钥?如果他们用环境变量派生东西,他们将需要生成自己的密钥并手动添加。