приложение для разработки, постановки и производства - PullRequest
5 голосов
/ 29 апреля 2011

Я создаю приложение, которое в дополнение к живой производственной среде требует среды разработки и подготовки. В настоящее время производственная среда работает и использует собственный экземпляр VPS. Запись:

myapp.com  1.2.3.4

Среда разработки и промежуточная среда будут иметь собственный экземпляр VPS. Я настроил соответствующие записи DNS, чтобы каждая среда имела свой собственный поддомен (запись в домене myapp.com, указывающая на сервер dev / staging:

dev.myapp.com 5.6.7.8
staging.myapp.com 5.6.7.8

Конфиг Nginx (Rails, Passenger) устанавливает корень для каждого сервера (подстановочный SSL настраивается в определении http, а порт 80 перенаправляет на порт 443):

server {
   listen 443;
   server_name dev.myapp.com
   root /apps/myapp/dev/public
}

server {
   listen 443;
   server_name staging.myapp.com
   root /apps/myapp/staging/public
}

Я немного запутался на стороне Rails, что еще мне нужно сделать, чтобы настроить среды, чтобы я мог получить доступ к отдельным средам разработки и промежуточной среды по URL:

staging.myapp.com
dev.myapp.com

Я знаю, что Capistrano позволяет вам настраивать производственную и промежуточную среды, но мне нужны как живые, так и промежуточные URL-адреса, или этого должно быть достаточно?

1 Ответ

17 голосов
/ 29 апреля 2011

Вы можете установить среду для каждого экземпляра, используя опцию rails_env.Например:

server {
  listen 443;
  server_name staging.myapp.com;
  root /apps/myapp/staging/public;
  passenger_enabled on;
  rails_env staging;
}
...