Tilt开发环境管理Skill tilt

Tilt开发环境管理技能提供完整的容器化开发工作流解决方案,涵盖Kubernetes微服务部署监控、实时热重载调试、资源状态检查、日志查询和tmux会话管理。适用于云原生开发、DevOps自动化、微服务调试、容器编排和持续部署场景,帮助开发者快速定位问题、优化开发效率并确保部署健康。

DevOps 0 次安装 0 次浏览 更新于 2/23/2026

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版本升级、端口/主机变更、崩溃、集群上下文切换。

参考