【问题标题】:Use capistrano to only update with git instead of deploying whole new release使用 capistrano 仅使用 git 进行更新,而不是部署全新的版本
【发布时间】:2015-10-15 19:03:34
【问题描述】:

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

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

基本上我只需要 cap 做的就是

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

  2. SSH 进入产品服务器并执行git pull

  3. 必要时运行rake db:migrate

  4. 运行rake assets:clean assets:precompile

  5. 重启Phusion Passenger

我将如何做到这一点?

【问题讨论】:

    标签: ruby-on-rails git capistrano


    【解决方案1】:

    只需编写您自己的 bash 或 ruby​​ 脚本来执行此操作。我认为你错过了 Capistrano 的重点。克隆整个 repo 允许您进行部署回滚,保持以前的版本不变。它考虑了失败的部署,并且在部署过程中不会干扰您的生产站点。

    【讨论】:

    • 很公平。只是想知道我是否缺少一个功能。谢谢
    猜你喜欢
    • 2013-02-23
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多