跳转到内容

构建与部署

本页介绍完整的构建和部署生命周期 — 包括构建模式、环境变量、健康检查、定时任务和 AI 智能诊断。


Web.Casa 支持两种应用部署构建模式:

应用直接在主机上构建和运行,作为 systemd 服务 管理。

  • 依赖直接安装在主机上
  • 应用进程由 systemd 管理,支持故障自动重启
  • 适合 Node.js 应用、Go 二进制文件、Python 应用 等服务端应用

使用仓库中的 Dockerfile 将应用容器化部署。

  • Web.Casa 根据 Dockerfile 构建 Docker 镜像
  • 从构建的镜像创建并启动容器
  • 适合 依赖复杂 或需要 环境隔离 的应用
模式管理方式隔离级别适用场景
裸机systemd进程级简单应用、低开销
DockerDocker 守护进程容器级复杂依赖、可复现性

追求简单和低资源开销选择 裸机模式。需要完全环境隔离或应用已有 Dockerfile 时选择 Docker 模式。


为每个项目自定义构建流水线:

设置说明示例
安装命令依赖安装npm install、pip install -r requirements.txt
构建命令编译或打包应用npm run build、go build -o app
启动命令启动应用npm start、./app、python manage.py runserver
构建超时最大构建时长(分钟)10

防止构建过程消耗过多服务器资源:

限制说明
内存(MB)构建进程可使用的最大内存
CPU(%)分配给构建的最大 CPU 百分比
构建超时(分钟)超过此时长的构建将被自动取消

Web.Casa 在构建之间缓存依赖以加速后续部署。如果构建出现异常行为:

  1. 打开项目设置。
  2. 点击 清除构建缓存。
  3. 触发新的部署。

每个项目拥有独立的环境变量集,在构建和运行时均可使用。

  • 逐条添加 — 逐个输入键值对
  • 从其他项目导入 — 从已有项目复制环境变量
  • 批量导入 — 粘贴 .env 格式内容
  • 敏感值在 UI 和构建日志中以 掩码 显示
  • 变量在服务器上 加密存储
  • 仅有项目访问权限的用户可以查看或编辑变量

使用环境变量管理数据库连接地址、API 密钥、密钥和不应硬编码在仓库中的配置。


可选为部署的项目分配域名:

  1. 在项目设置中输入 域名。
  2. Web.Casa 自动创建 反向代理 配置。
  3. 将域名的 DNS 指向服务器 IP。

反向代理将入站流量路由到应用端口,如果已配置则同时处理 TLS 终止。


配置健康检查以监控部署后的应用状态:

设置说明默认值
路径HTTP 检查端点(如 /health、/)/
超时等待响应的秒数5
重试次数标记为不健康前的失败检查次数3

Web.Casa 定期向健康检查路径发送 HTTP 请求。如果应用在指定重试次数内未在超时时间内响应,将被标记为 不健康。


Web.Casa 支持每个项目运行 多个进程。适用于需要以下组件的应用:

  • Web 服务器 进程
  • 后台 Worker 进程
  • 调度器 进程

每个进程可以有独立的启动命令,并且独立管理。


为每个项目配置定期执行的任务:

  1. 进入项目的 定时任务 标签页。
  2. 点击 添加定时任务。
  3. 配置:
    • 调度表达式 — 标准 cron 表达式(如 0 */6 * * * 表示每 6 小时执行一次)
    • 命令 — 要执行的命令

定时任务在项目上下文中运行,可以访问项目的环境变量。


每次部署生成完整的构建日志,包含:

  • 依赖安装输出
  • 构建命令输出
  • 部署步骤
  • 错误或警告信息

查看应用的运行时输出:

  • stdout 和 stderr 流
  • 实时流式输出,支持自动滚动
  • 便于调试运行时问题

Web.Casa 集成 AI 能力辅助部署任务:

当构建失败时,AI 分析构建日志并提供:

  • 根因定位 — 指出导致失败的最可能原因
  • 修复建议 — 可操作的问题解决步骤
  • 常见模式 — 识别依赖缺失、版本不匹配、配置错误等常见问题

在部署前后获取 AI 对代码变更的反馈。

AI 分析项目结构,基于以下信息建议可能需要的环境变量:

  • 框架要求
  • 代码中检测到的数据库连接
  • 第三方服务集成

部署后出现问题时,AI 审查变更并提供是否回滚以及回滚到哪个版本的建议。

AI 功能旨在辅助而非替代你的判断。在应用 AI 建议之前请务必进行审查。