途中书写在技术与生活的路上,持续记录
← 返回文章

集团信息化笔记 · 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、平台不是做出来的,是长出来的

先有能力,再有系统

八、最终带来的变化

一个月后:

原来:

  • 人手操作
  • 出错不知道
  • 无法交接

现在:

  • 自动运行
  • 出错即通知
  • 可追踪
  • 可交接

最大变化不是效率,而是:

可控性


写在最后

很多企业觉得自动化是“技术升级”。

但从这次实践来看,它更像是一次:

管理升级

你真正改变的,不是代码,而是:

  • 谁来运行
  • 谁来负责
  • 出问题怎么办
  • 如何持续运转

所以,如果你也在做自动化,我更建议你不要问:

“我要不要做平台?”

而是先问:

我的自动化,是否已经被管理起来?

当答案是“是”的时候,平台,自然就出现了。


专栏系列文章

写在途中,持续记录。继续阅读 →