现在家里扫地机器人、智能空调、语音音箱、净水器都连上了Wi-Fi,后台其实跑着不少微服务——比如扫地机的路径规划服务、空调的温控策略服务、音箱的语音识别模块。这些小服务各自独立,但每次升级固件或调试新功能,总得一台台手动操作,挺折腾。
脚本不是程序员专属
别一听“部署脚本”就想到黑窗口敲命令。它其实就是一段可重复执行的自动化指令,就像你给洗衣机设好“快洗30分钟”,按一次就全搞定。家电厂商内部更新云端服务时,用的就是这类脚本:自动拉取新镜像、停旧容器、启新服务、检查端口通不通。
一个轻量例子(家用级可用)
假设你自建了一个家庭IoT中控服务,用Docker跑在树莓派上,包含三个小模块:temp-sensor-api、light-control、notify-service。每次更新,只需在树莓派终端运行:
#!/bin/bash
echo "正在更新家庭IoT服务..."
cd /home/pi/iot-services
git pull
docker compose down
docker compose build --no-cache
docker compose up -d
sleep 5
curl -s http://localhost:8080/health | grep "ok" &> /dev/null && echo "✅ 部署成功" || echo "❌ 检查失败,请看日志"保存为 deploy.sh,加个执行权限:chmod +x deploy.sh,以后点一下就更新完,不用记命令、不怕输错。
真实场景里的小技巧
我家老式空调改装了红外模块后,用Node-RED做控制逻辑,所有规则都存在Git里。每次改完流程图,就用类似脚本自动重启服务,顺便把当前版本号写进LED屏显示——老人一看屏幕右下角写着“v1.3.2”,就知道刚升过级,不用再问“是不是坏了”。
脚本不求多炫,能省一次手动重启、少一次误操作,就是实在用处。