• 研究了一段时间,因为是小项目,对 Docker 不熟悉,所以放弃了。我离开 Rails 社区有段时间了,倒是有兴趣在大型项目这么操作,但是网上资料少得可怜,有没有什么推荐的 Rails 部署方面的 Docker/K8S 资料推荐一下?我之前用 capistrano 部署过 300 台服务器,实在很痛苦。

  • 楼主到底是制造欢乐呢,还是刷存在感呢?我很困惑。

  • 经过一天的时间,这个问题解决了。本着有问有答的精神,我总结一下:

    1)关于原因:应该就是服务器的 CPU 性能原因,买的是阿里云的突发性能实例,因为这个项目只有我们内部偶尔用,本着节约成本的精神买的高度共享实例。

    2)解决方案:诚如@imadbc 所言,我是用这个插件解决的,我一开始也注意到了这个插件,之所以没考虑,是因为已经一年多没人维护了,大概率是不良项目,没想到还能用。

    3)这个方案有个问题,服务器是 rbenv,本地是 rvm 的情况下,会在本地执行 rbenv 命令,而本地没有,故而报错。为了解决这个问题,我本地将 rvm 迁移到 rbenv,顺便我把 brew 重装了一下,就这两个事情折腾了我一天,遇到了各种奇葩问题,有五六个小时不停的 google 和 stackoverflow,真是什么问题都遇到了。虽然 rbenv 理念更先进,不知道是不是我打开方式不对,居然一直跳坑,主要原因可能跟 homebrew 的重装有关系。总之,花了一天时间都是踩这些坑。

    4)如果有同学想用这个方案的话,文档里写移除require 'capistrano/rails/assets',你的文件里可能没有这一行,是因为你用了capistrano/rails,那么删掉这一行,改成 require 'capistrano/bundler' require 'capistrano/rails/migrations'

    5)效果测试:没有修改 js 文件,修改其他文件,耗时 17 秒;如果修改了 js 文件,耗时 24 秒。表现良好,完全解决了这个问题。

  • 这应该只是一个提醒吧,我本地执行这个命令很快。部署这么慢,不应该是这个问题。

  • 看看楼主的发际线,再摸一摸自己的,唉,好像我也差不多了,潸然泪下!

  • 很多人看不明白,因为写得太多了,但是我看了开头,我就明白了这个理念,因为跟我之前设想的几乎一模一样。

    我给大家举一个例子,比如美容店想要一个美容店管理系统,现在市场上没有,从他的收益角度来说,他愿意出 3 万给开发者,但是开发者评估了一下,开发成本大概在 50 万,怎么办?

    一种办法是开发者自己开发,然后 3 万卖给这个美容店,然后自己再继续推销这个给其他美容店,这就相当于传统的创业了。普通开发者承担这个推销不利的巨亏,以及被迫进入自己不擅长的营销领域。

    另外一种办法就是这个美容店找到另外 29 家店,然后 30 家一起支付 60 万给这个开发者,让这个开发者放心地开发。这样一来,开发者可以稳赚 10 万,而这 30 家店更以比之前 3 万还低的价格得到了这个产品(2 万)。此外,他们共同享有这个产品的所有权,不仅可以直接使用,同时,他们还可以将这个产品以更低的价格卖给其他美容店,获取更多的额外利润。通过这种方式,实现稳健的三方共赢。

    我的理解就是这种思路,不知道跟楼主是不是一样?

  • 也可能是最后一个,哈哈哈。

  • 我猜你本来想写双重否定,自己给写忘记了。

  • 为什么要做一个不负责任的后端工程师?

  • 说句题外话,请问楼主工作几年了?