集团信息化笔记 · 2026-09-25
一个月搭建企业自动化平台实录(从0到上线)
- 企业内部已有30+ Python脚本 - 分散在不同人电脑、服务器、共享盘 - 没有统一调度 - 没有日志 - 没有告警
一个月搭建企业自动化平台实录(从0到上线)

从“几十个野生脚本”,到一套可控的自动化体系
这不是一个理想化方案,而是一次真实过程的还原。
背景很简单:
- 企业内部已有30+ Python脚本
- 分散在不同人电脑、服务器、共享盘
- 没有统一调度
- 没有日志
- 没有告警
但这些脚本,却在做一些“关键但没人管”的事情:
- 财务报表生成
- 主数据同步
- 文件处理
- 接口数据搬运
换句话说:
自动化已经存在,但完全不在管理之内
于是我们定了一个目标:
一个月内,搭一套“可用、可控”的自动化平台
一、先说结论:最后长什么样?
一个月后,我们得到的不是一个“炫酷系统”,而是
✅ 一个最小可用自动化平台
- 脚本统一进仓(Git)
- 所有任务统一调度(Apache Airflow)
- 每个任务都有日志
- 失败自动通知(企业微信)
- 提供简单接口触发(FastAPI)
最终架构
Python脚本
↓
Git
↓
Airflow调度
↓
日志记录
↓
失败告警
↓
API触发
没有复杂前端 没有大平台
但:
所有自动化“第一次被纳入管理体系”
二、第1周:不是写代码,而是“清点资产”
很多人一上来就写代码,这是第一个坑。
我们第一周只做一件事:
盘点所有脚本
做了什么?
拉了一张表(非常重要):
| 脚本名 | 用途 | 负责人 | 运行方式 | 频率 | 是否关键 |
|---|---|---|---|---|---|
结果非常典型:
- 同一功能有多个脚本
- 有些脚本没人知道是谁写的
- 有些任务每天跑,但没人知道怎么跑
- 有些关键脚本跑在某个人电脑上
一个很扎心的结论:
企业自动化最大的问题,不是技术,而是“不可见”
第一个关键决策
我们没有立刻“重写”,而是:
先统一入口,再逐步优化
三、第2周:先把所有脚本“接进来”
目标很明确:
不改逻辑,只改运行方式
做了三件事:
1、全部脚本进Git
- 统一目录结构
- 去掉硬编码配置
- 补最基本README
坑点:
- 有人电脑跑得好好的,一上服务器就挂
- 路径写死
- 依赖缺失
解决:
强制统一运行环境(Docker / 虚拟环境)
2、接入Airflow调度
我们选了 Apache Airflow,原因很简单:
- 有UI
- 有日志
- 有依赖关系
做法很“粗暴但有效”:
所有脚本统一包装:
subprocess.run(["python", "xxx.py"])
关键点:
不要一开始就重构逻辑
3、加一层日志
统一日志输出:
- 文件日志
- 标准格式
坑点:
很多脚本:
- 没日志
- print满天飞
解决:
统一logging模块
四、第3周:补上“能用”的关键能力
这周开始,问题集中爆发。
最大问题:脚本会失败
而且:
- 经常失败
- 之前没人知道
做了三件关键事:
1、全部加异常捕获
统一模式:
try:
run()
except Exception as e:
log.error(e)
notify(e)
2、接入告警(企业微信)
所有失败:
自动发消息
结果非常明显:
第一次,大家“知道自动化在出问题”
3、加“重试机制”
Airflow自带:
- 失败重试
- 延迟执行
效果:
- 很多“偶发问题”自动修复
- 运维压力下降
五、第4周:让别人“用起来”
这是最容易被忽略的一步。
问题:
只有你会用 → 等于没用
做了两件事:
1、做简单接口(FastAPI)
用 FastAPI 做:
- 手动触发任务
- 查询状态
示例:
@app.get("/run/job")
def run_job():
trigger_airflow()
2、做一个“任务清单”
不是系统,就是:
一个页面 / 表格
内容包括:
- 任务名
- 说明
- 执行时间
- 负责人
作用:
让自动化“被看见”
六、一个月踩过的6个坑
| 坑点 | 直接后果 | 正确做法 |
|---|---|---|
| 一上来想做“大平台” | 半个月时间花在设计,没有任何实际产出 | 先做“最小可用体系”(能跑 > 完美) |
| 想一次性重构所有脚本 | 项目复杂度爆炸,推进直接停滞 | 先“纳管”,再逐步优化 |
| 忽略运行环境 | 在A机器能跑,换服务器全挂 | 统一环境(Docker / 虚拟环境) |
| 没有日志 | 出问题只能猜,无法定位 | 强制统一 logging 规范 |
| 没有告警机制 | 脚本失败没人知道,风险积累 | 接入企业微信 / 邮件告警 |
| 只考虑技术,不考虑使用 | 做完没人用,自动化变“摆设” | 提供入口(API / 页面),让业务能用 |
这6个坑,本质其实只有一个原因:
把自动化当工具在做,而不是当“系统能力”在建设。
七、最重要的3个经验
1、先“纳管”,再“优化”
统一管理 > 写得优雅
2、自动化必须“可见”
看不见 = 不存在
3、平台不是做出来的,是长出来的
先有能力,再有系统
八、最终带来的变化
一个月后:
原来:
- 人手操作
- 出错不知道
- 无法交接
现在:
- 自动运行
- 出错即通知
- 可追踪
- 可交接
最大变化不是效率,而是:
可控性

写在最后
很多企业觉得自动化是“技术升级”。
但从这次实践来看,它更像是一次:
管理升级
你真正改变的,不是代码,而是:
- 谁来运行
- 谁来负责
- 出问题怎么办
- 如何持续运转
所以,如果你也在做自动化,我更建议你不要问:
“我要不要做平台?”
而是先问:
我的自动化,是否已经被管理起来?
当答案是“是”的时候,平台,自然就出现了。