部署
更新时间:
部署基于 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
将部署的服务启动在非 80/433 端口:
bin/kamal proxy boot_config set --http_port 8080 --https_port 4431
应用相关 Docker 服务
直接使用 docker 启动
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
Docker 数据持久化目录位于家(linux user)目录的 app 目录下,如有需要可对该目录进行定期备份,包含:
- storage: 默认为数据所在目录, 取决于 database.yml 配置;
- tmp/storage: 上传文件所在目录, 取决于 storage.yml 配置;