1
是否有可能讓Capistrano通過遷移來更新當前部署的應用程序(這是所有自上次部署以來已作爲更改提交的),只需使用此代碼更新已部署的應用程序(無需運行新的完整部署),只需運行遷移?如何在Capistrano運行遷移
是否有可能讓Capistrano通過遷移來更新當前部署的應用程序(這是所有自上次部署以來已作爲更改提交的),只需使用此代碼更新已部署的應用程序(無需運行新的完整部署),只需運行遷移?如何在Capistrano運行遷移
部署就是這樣一個部署。
你問,無需部署(!?)
恕我直言,以部署,你的問題是不是更Capistrano的相關SCM(SVN,GIT中,等...)。 你可能想要部署你的代碼(一次遷移),但不是所有提交給trunk/master的代碼。你必須做的是分支/標記部署,並從該分支/標籤進行部署。
例如,如果我使用SVN,我總是將這些行添加到我的deploy.rb:
set(:tag) { Capistrano::CLI.ui.ask("Tag to deploy: ") }
set(:repository) { "#{repository_root}/tags/#{tag}" }
這樣我可以部署一個特定的標籤,我的SVN有明確的規定我的生產代碼。
在你的情況下,該程序是:
每個工具都有它的目的和我們必須利用他們每個人的力量。
爲什麼不只是運行正常的部署?無論如何,模式更改後,應該始終重新啓動應用程序。 – 2010-12-15 00:28:01
在終端運行'cap -e deploy:upload'以獲取我爲什麼需要這樣做的確切解釋......問題在於命令無法通過從顛覆中拉出來工作(對於我來說,我無法理解) – concept47 2010-12-15 00:35:06
我從來沒有使用'cap deploy:upload',因爲我更願意知道我已經部署了什麼。雖然我不明白你爲什麼不能'cap deploy:upload deploy:migrate FILES = db/migrate/foo.rb'。 – 2010-12-15 01:43:40