上周六下午,儿子趴在我书房的椅子上写作业,突然抬头问:‘爸爸,你说你写的程序要“部署到服务器”,是不是像寄快递一样啊?’
我愣了一下,差点脱口而出‘Git push、CI/CD流水线、容器编排……’,但看着他手里还捏着乐高拼的迷你快递车,话到嘴边改了方向:‘差不多,还真挺像的。’
代码就像打包好的包裹
我打开电脑,指着屏幕说:‘你看,我写完的代码,就像你把玩具收拾进盒子,打好包,贴上标签。这个“包裹”里有网页、功能逻辑,还有配置文件。’
他在本子上画了个方块,写上“爸爸的代码包裹”。
上传就是发快递
‘然后呢,我要把这个包“寄出去”。不是用顺丰,而是用命令行。比如这样:’
git add .
git commit -m "完成新功能"
git push origin main
‘这一串命令,就是告诉电脑:“把最新的代码,发到远程仓库去”,就像你在手机上点“下单寄件”。’
服务器是收货的仓库
‘接着,有个叫“服务器”的地方会收到这个包。它就像小区门口的快递柜,24小时开着,谁都能来取。’
‘我写的网站,别人想看,浏览器就去那里“取件”。’
自动化部署像智能分拣
有时候我不手动发,而是设好规则:‘只要代码一上传,系统就自动帮我拆包、检查、放到正确位置。这就像快递中心的自动分拣线,扫一下码,包裹自己滑进对应区域。’
#!/bin/bash
# 部署脚本示例
echo "拉取最新代码..."
git pull origin main
echo "重启服务..."
systemctl restart my-web-app
‘这小段脚本,就是我的“自动收货员”。’
孩子听懂了吗?
讲完,他点点头:‘哦,那你每天就是在打包、发货,服务器是仓库,别人上网就是取快递。’
晚上吃饭时,他跟妈妈说:‘我爸今天又寄了几趟代码快递。’
我没纠正他。有时候,最复杂的系统,用生活里的小事一比,反而清楚了。