Skip to content

Cogather/python-serverless-demo

Repository files navigation

Python Serverless Demo

一个基于 AI 驱动开发的 Python 后端微服务项目模板,展示了如何通过与 AI 结对编程来快速构建一个完整的微服务项目,包含了从项目初始化、代码开发到CI/CD流水线的全过程。本项目特别展示了如何让 AI 通过脚本直接与 GitHub、云服务器等外部系统交互,实现真正的端到端自动化。

功能完成度

已实现功能 ✅

  1. 基础框架

    • ✅ FastAPI 后端服务框架
    • ✅ Poetry 依赖管理
    • ✅ Docker 容器化支持
    • ✅ AWS Lambda 集成
  2. 自动化脚本

    • ✅ GitHub 代码提交和PR创建
    • ✅ 代码格式化和质量检查
    • ✅ 自动化测试执行
    • ✅ Docker 镜像构建和推送
    • ✅ 远程服务器部署
  3. CI/CD 流水线

    • ✅ GitHub Actions 工作流配置
    • ✅ 代码质量门禁
    • ✅ 自动化测试集成
    • ✅ 预发布环境部署

进行中功能 🚧

  1. 代码管理

    • 🚧 自动创建 GitHub 仓库
    • 🚧 自动处理 PR 评论
    • 🚧 自动进行代码审查
  2. 运维自动化

    • 🚧 健康检查和告警
    • 🚧 日志收集和分析
    • 🚧 性能监控和优化
  3. 文档管理

    • 🚧 API 文档自动更新
    • 🚧 变更日志自动生成
    • 🚧 版本发布说明生成

计划中功能 📋

  1. 项目管理

    • 📋 自动创建和管理 Issue
    • 📋 自动生成项目进度报告
    • 📋 自动管理项目里程碑
  2. 安全加固

    • 📋 自动化安全扫描
    • 📋 依赖漏洞检查
    • 📋 密钥和令牌轮换
  3. 高级特性

    • 📋 多环境配置管理
    • 📋 灰度发布支持
    • 📋 自动化回滚机制

项目亮点

1. AI 驱动的开发实践

本项目是一个创新的实验,展示了如何通过与 AI(基于 Claude)进行结对编程来完成整个项目的开发。主要实践包括:

  • 项目脚手架生成:通过 AI 自动生成项目结构、配置文件和基础代码
  • 代码协作开发:与 AI 实时交互,完成功能开发和代码优化
  • 自动化测试生成:AI 辅助生成单元测试、集成测试和性能测试
  • CI/CD 流水线搭建:借助 AI 配置完整的持续集成和部署流程
  • 文档自动生成:通过 AI 生成和维护项目文档
  • 问题诊断修复:利用 AI 进行代码审查、Bug修复和性能优化

2. 端到端自动化实践

本项目展示了如何让 AI 直接操作各种外部系统,实现真正的端到端自动化:

  • GitHub 交互自动化

    • 自动创建和管理仓库
    • 自动提交代码和创建PR
    • 自动进行代码审查
    • 自动处理Issue和评论
  • 服务器操作自动化

    • 自动配置开发环境
    • 自动部署和更新服务
    • 自动进行健康检查
    • 自动处理运维任务
  • CI/CD 自动化

    • 自动配置 GitHub Actions
    • 自动处理构建失败
    • 自动优化流水线配置
    • 自动收集和分析构建日志

这种自动化方式的优势:

  • 无需人工干预,全流程自动化
  • 操作精确,减少人为错误
  • 可重复执行,保证一致性
  • 快速响应,提高效率

3. 开发效率提升

通过与 AI 协作,我们实现了:

  • 项目初始化时间从数天缩短到数小时
  • 代码质量显著提升,减少了人为错误
  • 文档始终保持最新,减少了维护成本
  • 自动化程度提高,减少了重复工作
  • 运维效率提升,减少了人工干预

4. 最佳实践沉淀

项目包含了完整的微服务开发最佳实践:

  • 现代化的项目结构和依赖管理
  • 完整的测试策略和质量保证
  • 规范的代码风格和提交信息
  • 自动化的CI/CD流水线
  • 详细的项目文档和开发指南

AI 协作开发流程

1. 项目初始化

  1. 通过与 AI 对话确定项目需求和技术栈
  2. AI 自动生成项目骨架和基础配置
  3. AI 自动创建GitHub仓库并初始化代码
  4. AI 自动配置开发环境和依赖

2. 功能开发

  1. 开发者描述需求,AI 生成实现方案
  2. AI 实时生成代码,开发者审查和调整
  3. AI 自动生成单元测试和文档
  4. AI 自动提交代码和创建PR

3. 代码审查

  1. AI 自动进行代码审查,提供优化建议
  2. AI 自动修复发现的问题
  3. AI 确保代码符合项目规范
  4. AI 自动处理PR评论和更新

4. CI/CD 配置

  1. AI 生成流水线配置文件
  2. AI 自动调试和优化流水线
  3. AI 自动处理构建失败问题
  4. AI 自动部署和验证服务

快速开始

环境要求

详细的环境配置请参考 开发环境配置指南

  • Python 3.8.1+
  • Poetry 1.7.0+
  • Docker
  • AWS CLI(可选,用于部署)

安装步骤

  1. 克隆仓库:
git clone https://github.com/yourusername/python-serverless-demo.git
cd python-serverless-demo
  1. 安装依赖:
poetry install
  1. 启动开发服务器:
poetry run uvicorn src.calculator.api:app --reload

项目结构

python-serverless-demo/
├── src/                    # 源代码目录
│   └── calculator/         # 业务逻辑模块
├── tests/                  # 测试代码
├── docs/                   # 项目文档
├── .github/workflows/      # CI/CD配置
└── scripts/                # 工具脚本

文档

AI 协作开发心得

  1. 明确的需求描述

    • 使用清晰、结构化的语言描述需求
    • 提供具体的示例和期望结果
    • 分步骤提出要求,便于AI理解和执行
  2. 迭代式开发

    • 先实现基础功能,再逐步完善
    • 及时审查AI生成的代码
    • 保持频繁的交互和反馈
  3. 质量保证

    • 让AI生成完整的测试用例
    • 使用AI进行代码审查
    • 保持文档的同步更新
  4. 最佳实践

    • 遵循项目规范和编码标准
    • 保持提交信息的规范性
    • 及时处理AI提出的优化建议
  5. 自动化配置

    • 提供必要的访问令牌和权限
    • 使用环境变量管理敏感信息
    • 确保自动化脚本的安全性
    • 定期更新和维护认证信息

贡献指南

  1. Fork 本仓库
  2. 创建功能分支
  3. 提交更改
  4. 创建 Pull Request

详细的开发规范和流程请参考 工作流程指南

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages