如何使用capistrano-ext在每个阶段拥有一个公共/ .htaccess

时间:2011-01-25 19:39:20

标签: ruby-on-rails .htaccess environment-variables capistrano

我正在使用Capistrano多级(capistrano-ext)来部署到舞台或制作。

问题是我在共享主机中使用Passenger,需要在PassengerAppRoot文件中指定public/.htaccess。显然这是不同的阶段。

如何保留此文件的不同“阶段版本”?

1 个答案:

答案 0 :(得分:0)

我没有使用过capistrano-ext,但我假设你的Capfile中的某个地方你将把舞台作为一个变量。让我们假设它是变量'stage'。我们还假设您在代码中的某处检查了两个不同的版本(public / .htaccess- {production | staging})

您可以在部署后设置任务以符号链接(或复制)正确的文件:

desc 'Set up a stage-appropriate .htaccess file'
task 'update_htaccess' do
  run "ln -s #{release_path}/public/.htaccess-#{stage} #{release_path}/public/.htaccess"
end

after "deploy:update_code", "update_htaccess"