如何使用上限设置开发环境

时间:2013-05-21 15:51:55

标签: ruby-on-rails capistrano

我想运行cap开发部署:setup和cap development deploy来为我的rails应用程序设置开发环境。为了做到这一点,我将不得不从远程机器中删除项目文件夹,有没有办法使用cap以某种方式自动执行此操作。

在完全部署之前,我基本上想要删除远程计算机中的app文件夹。

2 个答案:

答案 0 :(得分:0)

before 'deploy:setup', 'removecode'

task :removecode do
    run "rm -rf <path>", :shell => fetch(:rvm_shell)
end

将此代码添加到deploy.rb文件中,这将在deploy:setup之前调用 通过这种方式,您可以创建任务并执行您想要执行的操作

答案 1 :(得分:0)

Capistrano app文件夹的结构如下:

  • releases - 包含目前为止进行的每个部署的单独文件夹(使用提交ID或时间戳命名)
  • current - 链接到releases
  • 下的最新部署文件夹
  • shared - 部署之间使用的共享日志,gem文件和tmp

现在你真的想清理整个app文件夹吗?这可能很危险,因为你会丢失原木。

current只是一个符号链接,它仅指向最新版本。

如果要清理旧版本,请检查this answer。您可以将keep_releases设置为1。

如果你想删除共享文件夹,那么你必须编写自己的Capistrano钩子,如@ Strik3r所述。