Ruby on rails 如何使用capistrano ext为每个阶段提供一个public/.htaccess
我使用Capistrano multistage(Capistrano ext)部署到暂存或生产 问题是我在共享主机中使用了Passenger,需要在Ruby on rails 如何使用capistrano ext为每个阶段提供一个public/.htaccess,ruby-on-rails,.htaccess,environment-variables,capistrano,Ruby On Rails,.htaccess,Environment Variables,Capistrano,我使用Capistrano multistage(Capistrano ext)部署到暂存或生产 问题是我在共享主机中使用了Passenger,需要在public/.htaccess文件中指定PassengerAppRoot。显然,这在不同的阶段是不同的 如何保存此文件的不同“阶段版本”?我没有使用capistrano ext,但我假设您的Capfile中的某个地方将阶段作为变量。让我们假设它是变量“stage”。我们还假设您在代码中的某个地方签入了两个不同的版本(public/.htacces
public/.htaccess
文件中指定PassengerAppRoot
。显然,这在不同的阶段是不同的
如何保存此文件的不同“阶段版本”?我没有使用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"