【发布时间】:2018-11-22 14:16:29
【问题描述】:
我有一个 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 帐户根本不起作用。
【问题讨论】:
标签: django environment-variables travis-ci