部署基于 Kamal 实现,Kamal 能够实现从裸机 0 配置快速上线。
- 以下所有命令执行前,须进入到项目目录下;
- 拉取最新代码(如需要):
git pull- 更新子模块:
git submodule update --rebase
- 更新依赖(如需要)
- 安装 gems:
bundle install - 安装 js 依赖:
npm install
- 安装 gems:
- 执行部署:
bin/kamal deploy
bin/kamal deploy -c config/deploy_other.yml
bin/kamal proxy boot_config set --http_port 8080 --https_port 4431
bin/kamal proxy boot_config set --registry ccr.ccs.tencentyun.com --repository kamal --image_version v0.9.1
docker run --detach --restart unless-stopped --env RAILS_ENV="production" --env RAILS_MAX_THREADS="20" --log-opt max-size="10m" --volume ~/app/acme:/rails/acme --volume ~/app/storage:/rails/storage --publish 3000:3000
- storage: 默认为数据所在目录, 取决于 database.yml 配置;
- tmp/storage: 上传文件所在目录, 取决于 storage.yml 配置;