发版那天:脚本想上机,先过你这关
发版窗口里最怕两件事叠在一起:预发还没巡检完,生产上已经有人(或脚本、AI)直接改。聊天里传密码、多开几个终端手敲,事后也说不清「谁在哪台跑了什么」。
这篇按一次真实发版流程写:预发只读检查自动通过;生产写入版本标记必须管理员同意;同意后由系统代跑,执行记录能下载、也能按客户导出。界面截图来自 mistlab.dev 控制台「自动执行」,不是示意图。
四节:一、从概览走进自动执行 → 二、预发巡检不用人点同意 → 三、生产变更要先过你这关 → 四、结果、证据和规则。你自己在 MistTerm 里敲的命令,不受这一套影响。
一、从概览走进「自动执行」
登录控制台后,概览里会提示:脚本或 AI 要上服务器跑命令,会先来问你一声。点「打开自动执行」,进入专门给自动化用的审批与结果页。
进到「自动执行」后,先选团队。页头三句话说清楚流程:给脚本建账号 → 请求出现在「待你审批」→ 同意后系统代跑,结果在「执行结果」里看。上方还能看到近期受控执行次数和失败数。
二、预发巡检:只读检查可以自动通过
发版前先确认预发机器还活着、登录账号对。例如对预发主机跑 hostname、whoami——都是只读检查。命中「预发只读自动通过」规则时,状态是已自动通过,不必等人点同意,系统直接代跑。
hostname,无需人工点同意。这次真机回显是本机主机名(演示环境把预发目标指到联调机器上)。重要的是路径:只读 + 预发 → 自动过 → 执行结果里能查到。
三、生产变更:写入版本标记,要管理员同意
生产上写文件就算变更。比如在 API 机器写入本次版本标记 mist-1.2.7。请求会出现在「待你审批」,带上命令原文、目标主机和风险提示。点同意之前,生产机器上什么都不会跑。
管理员勾选主机后点「同意」。成功时右上角会出现「已同意」,以及「已开始执行」——由控制面在服务端代跑,不是把密钥塞回聊天或脚本里。
代跑完成后,目标机器上会出现版本标记文件(本次演示写在系统临时目录)。聊天记录里不用再问「到底有没有写上」——以执行结果和下载下来的记录为准。
四、执行结果、导出证据、规则怎么判
「执行结果」按条列出每次代跑:状态、关联请求、时间。每条可以看详情,也可以「下载执行记录」(JSON),方便留给审计或客户。
需要交给客户时,在导出框填入标签(例如 customer=acme),点「按客户导出」,会打出一批执行记录的归档文件。
脚本、定时任务、AI 批量要用自动化上机,先在「脚本账号」里建账号、拿到密钥(只显示一次)。密钥泄漏时可以停用或换密钥,不必改每台机器的登录密码。
「怎么判定」写清楚默认规矩:危险命令直接拒绝;生产上的非只读要审批;预发 / 开发环境的只读检查可以自动通过。团队还可以加自己的规则(例如某类命令在预发直接通过)。
危险命令(例如清根目录、乱删库表)不会进「等人点同意」——直接拒绝,管理员也不能放行。
和「终端里手敲」的边界
「自动执行」管的是脚本、AI、定时任务这类自动化上机。你在 MistTerm 终端里自己敲的命令,仍走原来的终端会话,不会每条都弹到「待你审批」。命令记录、团队权限那是另一条线;两边不要混成「装完就什么都拦」。
对照看看你们发版怎么做
- 预发只读巡检,是五个窗口手敲,还是走自动执行、结果留在「执行结果」里?
- 生产写文件、清缓存、改配置,有没有「先过管理员」这一步?还是聊天里说一声就算?
- 脚本 / AI 用的密钥,能不能一键停用或轮换,而不用改服务器登录密码?
- 客户或审计要证据时,能不能按客户导出,而不是翻聊天记录?
- 危险命令是直接拒绝,还是还能被「临时批一下」放过去?