使用capistrano仅使用git进行更新,而不是部署全新版本

时间:2015-10-15 19:03:35

标签: ruby-on-rails git capistrano

我有一个非常小的应用程序甚至在生产中使用sqlite3,因为永远不会出现任何多次写入等问题。我想使用capistrano快速,轻松地部署此应用程序的更新。但是当我运行cap production deploy时,它会将整个应用程序转储到一个发布文件夹中,并将其符号链接到current。我知道我可以在production.sqlite3中包含deploy.rb文件来保存数据,但每次我想推送更新时克隆整个仓库似乎都有点过分。

我无法在capistrano文档中找到任何更新内容。

基本上我需要做的就是

  1. 确保我的本地git HEAD与master

  2. 相同
  3. SSH进入prod服务器并执行git pull

  4. 必要时运行rake db:migrate

  5. 运行rake assets:clean assets:precompile

  6. 重新启动Phusion Passenger

  7. 我将如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

只需编写自己的bash或ruby脚本即可。我想你错过了卡皮斯特拉诺的观点。克隆整个repo允许您进行部署回滚,保留原来的版本。它考虑了失败的部署,并且在部署过程中不会弄乱您的生产站点。