这是一个 Work Design 精心打磨后的 Rails 应用模板,主要用于:
- Rails Engine 测试:Work Design 旗下的所有 engine 下的 test/dummy 都引用本项目作为测试的 dummy 应用;
- 作为模板初始化一个新的 Rails 应用;
本项目具备如下特性:
- 最佳实践:集成了 Work Design 的几个基础项目,给你带来了完全没有副作用的开发体验,包括:
- 自动生成 migration:
bin/rails g rails_com:migrations
,详见
- 自动生成 migration:
- 安装依赖:
bundle
npm install
npm link rails_design
- 个性化配置:
- 修改 development 配置文件:
bin/rails credentials:edit -e development
- 设置选项:
- db,postgresql url 语法
- db_test
- secret_key_base
- 非加密个性化配置:
config.x
- 新增 engine 后:
bin/rails g rails_com:migrations
- 重启 应用
- 启动:
bin/dev
,将启动静态资源(javascript/css/image)的开发编译,命令包含:yarn build --watch
: 编译 jsyarn build:css --watch
: 编译 cssbin/rails
: 启动 rails server
- 浏览器里访问:
localhost:3000
- 编译静态资源:
rake assets:precompile
- 购买云主机;
- 把 root 账号 ssh 登录授权;
- 安全策略,开放 80/443 端口;
- 非 root 用户
kamal env push
kamal setup
- traefik
- acme.json 的文件权限 600
后续部署
kamal deploy
- 如果是在本项目下运行 Rails,请使用
bin/rails
, 这样会正确设置 ENV['BUNDLE_GEMFILE'] 的值; - 检查 public 文件夹下是否存在 manifest.json 文件,如果该文件存在,则在本地使用的是编译后的静态资源;