这种情况有点不寻常。但这里有一些想法:
- 我使用的过程与您引用的文章中的过程类似。
- 正如你所说,我只会创建一个应用程序。
dev
我会在您的文件夹中创建一个新的 git 存储库。
- 然后,我会推荐一种类似于此答案中描述的部署策略:https ://stackoverflow.com/a/8058194/267025 。我在下面对其进行了调整:
创建一个rake
包含两个任务的文件:rake deploy:production
和rake deploy:postprocess_files
. 这些任务可能看起来像这样:
namespace :deploy do
task :production do
puts "turn on 'maintenance page' on heroku"
system "heroku maintenance:on"
puts "deploying to production"
system "git push heroku-prod master"
puts "post processing files..."
system "heroku run rake production:postprocess_files"
puts "take off maintenance page"
system "heroku maintenance:off"
puts "done"
end
task :postprocess_files do
puts "run postprocessing of files on heroku"
... add commands here to post process the files.
end
end
然后使用 git 部署到生产环境,rake deploy:production
而不是直接使用 git 推送。rake 文件将:
- 设置维护页面,
- 推动生产,
- 对文件进行后处理,
- 取下维护页面。
请注意,文件中的第二个 rake 任务具有对文件进行后处理的命令,并被第一个 rake 任务调用以在 heroku上运行。
作为替代方案,您可以扩展 Heroku 作为每次部署的一部分运行的 assets:precompile 任务。无论如何,这基本上就是您正在做的事情——准备资产以部署到生产环境。