У меня есть приложение Rails в рабочей среде, и я хочу развернуть свое приложение в Staging с использованием Capistrano
до того, как перейти к производству, поэтому моя команда сделала копию приложения на другом хосте, который должен действовать как Staging.У меня есть 2 отдельные настройки среды Capistrano, одна для производства, другая для постановки.На самом деле они различаются по IP-адресу сервера, остальное - та же стандартная настройка.
Я также добавил config/evironments/staging.rb
файл, который очень похож на config.environments/production.rb
с единственным отличием в
config.action_controller.asset_host
, потому что в Staging мне нужно загрузить ресурсы с промежуточного хоста.
config / environment / production.rb
config.action_controller.asset_host = "my_production_host"
config / environment / staging.rb
config.action_controller.asset_host = "my_staging_host"
но после того, как я выполню bundle exec cap staging deploy
и осмотрю консоль браузера, я вижу ошибку 404 Failed to load resource
, которая по какой-то причине указывает на ресурсы рабочего узла.404 Failed to load resource
<link rel="stylesheet" media="all" href="https://my_prduction_host/assets/application-7d22d41de3a16146e566368364a8b2c769a9ebd68d1333e71d624250fa2fd187.css" />
, поэтому кажется, что он не читает мои config/environments/staging.rb
.
config / deploy / staging.rb
server "1.2.3.4", user: "my_user", roles: %w{app db web}, port: 50022
set :stage, :staging
set :rails_env, :staging
Показывает журналы Capistrano current release: current (production)
config/environments/staging.rb
добавлено в репозиторий, так почему же он не читает мою промежуточную конфигурацию?Что мне не хватает?Есть идеи, почему оно запускает приложение в рабочем режиме?
ОБНОВЛЕНИЕ