Разрыв AWS CodeBuild в os.environ - python не может найти переменную окружения - PullRequest
0 голосов
/ 19 мая 2018

Итак, я создал приложение Django и использовал шаблон AWS CodeStar Django (EC2, EB).

Первое, что я сделал, это изменил SECRET_KEY так, чтобы он извлекал переменную окружения, например, os.environ['DJANGO_SECRET_KEY'].Я добавил ssh в экземпляр EC2 и добавил эту переменную, а также добавил эту переменную в среду EB (в изменяемой конфигурации).

Однако CodeBuild все еще ломается в сборке.Куда мне нужно добавить эту переменную среды?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Переменная среды codebuild не подходит для секретных ключей, вместо этого вы можете использовать хранилище параметров ec2.Перейдите в EC2> хранилище параметров> создать параметр> добавить имя и секретную строку.

вы можете получить через aws cli aws ssm get-parameter --name "SECRET_KEY"

Другой способ построения кода вы можете просто

buildspec.yml

version: 0.2
    env:
      parameter-store:
        SECRET_KEY : "SECRET_KEY" 
 phases:
  install:
   commands:
        echo $SECRET_KEY

adding secret to parameter store

0 голосов
/ 19 мая 2018

Чтобы выполнить сборку, я обнаружил, что вам нужно перейти в AWS CodeBuild, нажать «Изменить проект» для рассматриваемого проекта сборки.

В нижней части страницы выпоявится «Показать дополнительные настройки».Здесь вы можете видеть, что вы можете добавлять переменные среды в среду сборки.Вот как я заставил это работать.

** Обратите внимание, что это может быть неправильный курс действий для SECRET_KEY, однако это относится к любым переменным среды, которые не обнаруживаются на этапе сборки CodeBuild.

...