Django和travis CI密钥错误与travis编码环境变量

时间:2018-06-13 05:41:14

标签: django environment-variables travis-ci

我有一个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帐户使用相同的代码的分支。

1 个答案:

答案 0 :(得分:0)

他们是否从.bashrc中导出了自己的密钥?如果他们用环境变量派生东西,他们将需要生成自己的密钥并手动添加。