部署
构建、部署和管理应用发布
部署
Senate 中的部署代表构建和发布应用的过程。每次部署都会创建服务的新版本。
部署源
Senate 支持多种部署应用的方式:
Docker 镜像
从仓库拉取预构建的镜像:
nginx:latest
ghcr.io/your-org/your-app:v1.2.3
your-registry.com/app:latest适用于:使用外部 CI/CD 流水线构建镜像的生产部署。
Dockerfile
从 Dockerfile 构建:
- 内联:直接在 Senate 中粘贴 Dockerfile 内容
- Git 仓库:从仓库中的 Dockerfile 构建
适用于:简单应用或希望 Senate 处理构建的场景。
Git 仓库
从 Git 仓库克隆并构建:
| 选项 | 描述 |
|---|---|
| 仓库 URL | HTTPS 或 SSH URL |
| 分支 | 要部署的分支(默认:main) |
| Dockerfile 路径 | Dockerfile 的路径(默认:./Dockerfile) |
| 认证 | 私有仓库的 SSH 密钥或访问令牌 |
适用于:完整的 GitOps 工作流与自动构建。
Compose (YAML)
用于多容器应用:
- 内联 YAML:粘贴 docker-compose.yml 内容
- Git 仓库:使用仓库中的 compose 文件
- Profile:选择特定的 compose profile
- Override:提供覆盖 YAML 进行自定义
部署过程
点击 Deploy 时,Senate 执行以下步骤:
1. Pull/Build → 下载镜像或从源码构建
2. Create → 创建新容器
3. Start → 启动容器
4. Health Check → 验证容器健康(如已配置)
5. Cleanup → 移除旧容器
部署策略
在 Advanced 标签页配置:
Recreate(重建,默认)
- 停止旧容器
- 启动新容器
优点:简单、可预测 缺点:切换期间短暂停机
Rolling Update(滚动更新)
- 启动新容器
- 等待健康检查
- 将流量路由到新容器
- 停止旧容器
优点:零停机 缺点:需要健康检查,短暂运行两个容器
滚动更新选项配置:
| 选项 | 描述 | 默认值 |
|---|---|---|
| Health Check Timeout | 等待健康状态的最大时间 | 60s |
| Connection Drain Timeout | 关闭连接前的等待时间 | 5s |
| Rollout Services | 对于 compose:要滚动的服务 | 全部 |
查看部署
部署历史
Deployments 标签页显示所有部署:
- 状态指示器
- 时间戳
- 持续时间
- 触发源(手动、webhook、自动)
- Git 提交信息(如适用)
点击任何部署查看其日志。

部署日志
查看实时或历史日志:
- 构建输出
- 拉取进度
- 容器启动日志
- 错误消息
自动部署
Webhook 触发
每个服务都有唯一的 webhook URL:
https://senate.example.com/api/services/<service-id>/deploy?token=<secret-token>在 CI/CD 流水线中配置,以在推送时触发部署。详见 CI/CD 集成 获取详细设置说明。