2014-12-20 2 views
2

Я не могу на всю жизнь понять, как заставить OpsWorks использовать среду промежуточных рельсов. У меня есть разработка, постановка и производство. Разработка для локальной машины, постановка и производство для двух разных стеков на OpsWoks. Я просто пытаюсь заставить рабочую среду работать, но она продолжает развертываться как производство. Постановка в основном дублирует мою среду разработки, но она позволяет отправлять электронную почту извне и имеет другой узел базы данных вместо localhost.Установить пользовательские RAILS_ENV для OpsWorks

Я устанавливаю этот обычай JSON до сих пор в моих настройках стека:

{ 
    "deploy": { 
    "my_app_name": { 
     "rails_env": "staging", 
     "database": { 
     "adapter": "mysql2" 
     } 
    } 
    } 
} 

Я продолжал иметь проблемы подключения к базе данных с RDS, пока я не добавил этот адаптер базы данных ключа/пара. Я просто не могу заставить его запустить приложение для рельсов.

При создании приложения и определении источника git и RDS он запрашивает «среду Rails». Я поставил это на размышление о том, что все, что мне нужно, чтобы определить, какую среду рельсов использовать.

Любые эксперты с OpsWorks, которые могут помочь, очень ценятся. Я только начал настраивать это сегодня. Я бы хотел, чтобы у документов было несколько лучших примеров.

+0

Вы когда-нибудь понять это? – Fuser97381

ответ

1

OpsWorks запустит приложение с помощью rails_env, который вы укажете в пользовательском json для приложения. Предостережение заключается в том, что если вы подключаетесь к серверу и делаете rails console, вы увидите, что Rails.env не соответствует тому, что вы установили в JSON. Это связано с тем, что OpsWorks запускает приложение с введенным вами параметром, но не сохраняет этот параметр как переменную среды. Поэтому, когда вы находитесь в кли, он не знает, какую среду использовать.

Для получения более подробной информации, обратитесь к этому отличный ответ: https://stackoverflow.com/a/21949946/973810

Смежные вопросы