Ошибка секретного ключа Django и travis CI при кодировании переменных среды travis - PullRequest
0 голосов
/ 13 июня 2018

У меня есть проект Django, который настроен так, чтобы SECRET_KEY не попал в settings.py, установив переменную окружения, а затем используя os.environ ['SECRET_KEY'].Я также использую безопасные зашифрованные переменные окружения travis ci для того, чтобы мой SECRET_KEY для моего проекта django был доступен для использования travisci.Travisci успешно строится на моем аккаунте на github.Тем не менее, сборка travisci завершится неудачно на любом другом, кто разветвляет код при попытке запустить python manage.py migrate / test с этой ошибкой:

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 голосов
/ 25 июня 2018

Экспортировали ли они свой секретный ключ из своего .bashrc?Если они что-то разветвляют с помощью переменной среды, им нужно будет сгенерировать свой собственный секретный ключ и добавить его вручную.

...