Как вытащить переменные opsworks в файл .env с помощью chef?

1

Я очень новичок в поваре и на последнем кусочке головоломки. Я пытаюсь создать файл.env в корне моего проекта, используя переменные, установленные в AWS Opsworks. Я не могу, чтобы жизнь меня поняла.

У кого-нибудь есть предложения или рабочий рецепт для шеф-повара? Я добрался до ума.

  • 0
    Вы можете ссылаться на переменные окружения в конфигурациях .env. Посмотрите это краткое руководство: mattstauffer.co/blog/…
  • 0
    Я могу пропустить это, но где в этом посте говорится о получении переменных, установленных в opsworks, в файл .env?
Теги:
amazon-web-services
nginx
laravel-5
aws-opsworks

1 ответ

4
Лучший ответ

Обычно вы используете файл .env если используете AWS *. Файл.env имитирует переменные окружения, которые фактически установлены на уровне операционной системы, это полезно при разработке локально или на платформе хостинга, которая не позволяет вам устанавливать их самостоятельно.

Итак, все, что вам нужно сделать, это установить переменные окружения для вашего приложения в Opsworks, и все готово. Они будут загружены из операционной системы с помощью PHP и затем будут доступны вашему приложению Laravel.

* Причина этого заключается в том, что у вас обычно есть конфиденциальные данные, такие как базы данных и учетные данные API, хранящиеся здесь. Вы абсолютно хотите сохранить их отдельно от своего кода и вне контроля источника.

Редактировать:

Вы можете написать.env файл во время развертывания, если хотите. Это будет выглядеть так, как выглядит ваш сценарий шеф-повара:

node[:deploy].each do |application, deploy|
  # write out .env file
  template "#{deploy[:deploy_to]}/current/.env" do
    source 'env.erb'
    mode '0660'
    owner deploy[:user]
    group deploy[:group]
    variables(
      :env => deploy[:environment_variables]
    )
  end
end

Вот как выглядит ваш шаблон.env файла:

<% @env.each do |key, value| %>
<%= key %>=<%= value %>
<% end %>
  • 0
    У меня они там, но они не работают. Я не использовал Php, встроенный в opsworks, мне пришлось использовать его из-за nginx. Поставляемое развертывание Php использует Apache. Поэтому я установил их, и код написан для их использования в Laravel, но это не так.
  • 0
    вау спасибо, это здорово Вы покупаете какой-нибудь шанс узнать, возможно ли запустить что-то только один раз? как миграция? я знаю это не по теме
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню