развертывание специфичных для среды файлов .htaccess в Ruby on Rails - PullRequest
1 голос
/ 22 августа 2011

У меня есть файл .htaccess со строкой, в которой указывается среда для приложения, которое я запускаю (подготовка, производство и т. Д.)

RackEnv staging

Каков наилучший способ справиться с этим для конкретных сред развертывания с capistrano и capistrano-ext?

как-нибудь динамически записать его в задачу capistrano? символическая ссылка на существующий общий .htaccess, специфичный для каждого развертывания, почти так же, как вы делаете для database.yml?

есть ли другие варианты? спасибо

1 Ответ

3 голосов
/ 22 августа 2011

Вместо того, чтобы поместить это в свой файл .htaccess, вы можете добавить его в файл конфигурации Apache для этого приложения, обычно это будет / etc / apache2 / sites-available / yoursite

Вот пример файла, подобного этому, с вашей настройкой ...

<VirtualHost *:80>
    ServerName  yoursite.com
            ServerAlias yoursite.* 

    DocumentRoot /var/www/httpdocs/current/public

    <Directory /var/www/httpdocs/current/>
        Allow from all
        Options -MultiViews
    </Directory>

    RackEnv staging
    RailsEnv staging

    # Logfiles
    ErrorLog  /var/www/logs/error.log
    CustomLog /var/www/logs/access.log combined
</VirtualHost>

Затем в вашем файле deploy.rb выделите вещи, специфичные для сайта, как это ...

task :staging do
    set :application, "yoursite"
    set :repository, "yoursite.git"
    set :branch, "master"
    set :deploy_to, "/var/www/httpdocs/currebt"
    server "staging.yoursite.com", :app, :web, :db, :primary => true
    set :rails_env, "staging"
end

Если все, что настроено, вы можете запустить

cap staging deploy
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...