[T.3] 团队项目:团队基础设施及 DevOps 准备

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 [T.3] 团队项目:团队基础设施及 DevOps 准备
我在这个课程的目标是 学习软件工程的基础知识,和团队成员们实践各种软件工程的方法与流程,开发一个让我们值得骄傲的项目
这个作业在哪个具体方面帮助我实现目标 确定了团队开发的基础设施以及团队项目如何管理

服务器

腾讯云服务器

配置项 实际选择内容 选择原因与依据
厂商 腾讯云(Tencent Cloud) 国内一线云厂商,性能稳定,服务完善;学生、开发者和中小型团队优惠政策多,适合初期开发、测试和中等规模部署。
地域 华东地区(如:上海) 靠近目标用户群体,访问延迟低、速度快;资源充足,服务成熟;是腾讯云的核心数据中心之一,适合部署面向全国用户的系统。
计费方式 包年包月 成本可控、性价比高;适用于长期稳定部署的项目,避免因频繁计费波动带来的额外支出;支持提前续费与自动续费,保障服务不中断。
CPU 4 核 vCPU(标准型 S5) 能够支持中等并发访问场景,适合运行后端服务、数据库、中型 Web 应用等;支持多线程处理,提升响应效率,是中小型部署的常见选择。
内存 8 GB 支撑多个服务同时运行(如后端逻辑、数据库、缓存服务等);防止系统内存溢出,提高整体系统的稳定性和服务质量。
公网带宽 12 Mbps(固定带宽) 比常见的 5~8 Mbps 更高,保障更多并发用户访问时的页面加载和接口响应速度;适合需要演示、多用户在线测试、文件传输等高频交互场景。
系统盘 50 GB SSD(高性能云硬盘) 存储操作系统和基础环境,读写速度快,提升服务响应;SSD 高 IOPS 能满足频繁 I/O 操作,保障系统稳定运行。
数据盘 130 GB SSD(高性能云硬盘),总计 180 GB 存储数据库、日志、上传文件等业务数据;大容量磁盘利于后期业务扩展;SSD 提升文件处理性能,数据更安全可靠,系统与业务数据分离便于管理与备份。

团队管理

团队沟通,协作

我们团队采用飞书作为主要的沟通和协作平台。具体使用方式如下:

  • 即时通讯:使用飞书群组进行日常工作沟通、任务同步、进度跟进。

  • 日程管理:通过飞书日历协调组会时间,记录每周工作计划与里程碑。

  • 在线文档协作:利用飞书文档进行策划方案、需求分析、技术文档的协同撰写。

  • 会议与记录:使用飞书会议功能开展线上组会,便于成员远程参加,同时生成会议纪要。

  • 文件共享:在飞书群文件中统一存储项目相关的资料(如原型图、调研文档、用户反馈等)。

b74c2224d177f7d04a383ddf6b41551

89433a0b6470b1886ac663dd0ee5fc0

代码管理

我们采用 GitHub 作为团队协作与代码管理的主要平台,搭配 Git 工具进行分布式版本控制。具体使用方式如下:

1.GitHub仓库管理

  • 创建项目主仓库,设定初始开发分支结构(如 maindev)。

  • 启用Issue管理功能,用于记录任务、Bug 和新功能建议。

  • 使用Projects看板模块进行任务分配和迭代管理。

  • 编写并维护README.md使用文档和贡献规范。

2.团队协作开发流程

我们采用功能模块分支模式进行协作开发,每个功能点独立分支开发。

开发流程说明:

  • 每个功能模块由对应成员负责,创建模块名分支;

  • 功能开发完成后,提交Pull Request合并至main

  • 合并前需自测并由团队进行Code Review;

  • 功能上线后可打tag做版本标记。

3. 版本控制与同步

  • 所有成员统一使用Git进行版本控制;

  • 通过GitHub Actions(或其他CI服务)实现自动构建、测试或部署;

  • 设置.gitignore文件排除不必要的临时文件、密钥、缓存等。

CI/CD

配置文件

name: CI

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ["3.11"]

    steps:
    - uses: actions/checkout@v4

    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install uv
      run: curl -LsSf https://astral.sh/uv/install.sh | sh
      env:
        UV_VERSION: 0.2.7

    - name: Add uv to PATH
      run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH

    - name: Create and activate virtualenv
      run: |
        uv venv .venv
        source .venv/bin/activate
        uv sync --dev

    - name: Run core tests
      working-directory: ./packages/ragnarok_core
      run: |
        source ../../.venv/bin/activate
        uv pip install -e .
        pytest -v

    - name: Run server tests
      working-directory: ./packages/ragnarok_server
      run: |
        source ../../.venv/bin/activate
        uv pip install -e .
        pytest -v

    - name: Run toolkit tests
      working-directory: ./packages/ragnarok_toolkit
      run: |
        source ../../.venv/bin/activate
        uv pip install -e .
        pytest -v

触发的列表截图
b90496e98175bbb33773d9cbeb79b45

posted @ 2025-04-09 22:42  Dvorag  阅读(73)  评论(0)    收藏  举报