name: tilt description: 查询Tilt资源状态、日志并管理开发环境。用于检查部署健康状况、调查错误、读取日志或处理Tiltfiles时使用。
Tilt
第一步:检查错误
在调查问题或验证部署前,先检查资源健康状况:
# 查找错误和待处理资源(主要健康检查)
tilt get uiresources -o json | jq -r '.items[] | select(.status.runtimeStatus == "error" or .status.updateStatus == "error" or .status.updateStatus == "pending") | "\(.metadata.name): runtime=\(.status.runtimeStatus) update=\(.status.updateStatus)"'
# 快速状态概览
tilt get uiresources -o json | jq '[.items[].status.updateStatus] | group_by(.) | map({status: .[0], count: length})'
非默认端口
当Tilt运行在非默认端口时,添加--port参数:
tilt get uiresources --port 37035
tilt logs <资源名> --port 37035
资源状态
# 所有资源及其状态
tilt get uiresources -o json | jq '.items[] | {name: .metadata.name, runtime: .status.runtimeStatus, update: .status.updateStatus}'
# 单个资源详情
tilt get uiresource/<资源名> -o json
# 等待就绪
tilt wait --for=condition=Ready uiresource/<资源名> --timeout=120s
状态值说明:
- RuntimeStatus:
ok,error,pending,none,not_applicable - UpdateStatus:
ok,error,pending,in_progress,none,not_applicable
日志
tilt logs <资源名>
tilt logs <资源名> --since 5m
tilt logs <资源名> --tail 100
tilt logs --json # JSON行格式输出
触发和生命周期
tilt trigger <资源名> # 强制更新
tilt up # 启动
tilt down # 停止并清理
运行tilt up
tmux会话规则(强制要求 — 完整模式请参考tmux技能):
- 必须在
tmux new-session前检查tmux has-session— 绝不创建重复会话 - 必须从git根目录派生会话名称 — 绝不硬编码
- 必须向现有会话添加窗口 — 绝不创建并行会话
- 必须使用
send-keys— 绝不向new-session传递内联命令
SESSION=$(basename $(git rev-parse --show-toplevel 2>/dev/null) || basename $PWD)
if ! tmux has-session -t "$SESSION" 2>/dev/null; then
tmux new-session -d -s "$SESSION" -n tilt
tmux send-keys -t "$SESSION:tilt" 'tilt up' Enter
elif ! tmux list-windows -t "$SESSION" -F '#{window_name}' | grep -q "^tilt$"; then
tmux new-window -t "$SESSION" -n tilt
tmux send-keys -t "$SESSION:tilt" 'tilt up' Enter
else
echo "Tilt窗口已存在于会话中: $SESSION"
fi
关键:绝不因代码变更而重启
Tilt会自动热重载。绝不建议为以下情况重启tilt up:
- Tiltfile编辑
- 源代码变更
- Kubernetes清单更新
仅在以下情况重启:Tilt版本升级、端口/主机变更、崩溃、集群上下文切换。
参考
- TILTFILE_API.md - Tiltfile编写指南
- CLI_REFERENCE.md - 完整CLI及JSON模式
- https://docs.tilt.dev/