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

项目 内容
这个作业属于哪个课程 软件工程
这个作业的要求在哪里 [T.3] 团队基础设施及 DevOps 准备
我在这个课程的目标是 掌握软件工程的核心理论,协作完成软件项目开发
这个作业在哪个具体方面帮助我实现目标 探讨技术层面基础,包括云服务器,协作平台,代码仓库管理等等

一、服务器

类别 配置 说明
厂商 阿里云 (Alibaba Cloud) 稳定性高:国内领先的云服务商,拥有成熟的生态和稳定的基础设施支持。
规格 云服务器 ECS (经济型 e) 独享资源:相比轻量应用服务器,ECS 实例提供更稳定的计算性能,适合长期持续的开发与测试。
地域 华北 2 (北京) 低时延:部署在北京,能够为目标年轻群体提供更快的响应速度
镜像 Ubuntu Server 24.04 LTS 兼容性强:最支持 Vue 3、Python Flask 框架以及各种自动化部署工具。
存储 系统盘 (40GB ESSD Entry) 高速读写:ESSD 云盘提供稳定的 IO 性能,足以支持心情日记记录、用户画像数据及历史复盘记录的存储。
带宽 固定带宽 1Mbps 成本可控:采用固定带宽模式,在 300 元免费额度内可实现长期稳定的公网访问,满足初始阶段 API 调用需求。
CPU / 内存 2 核 (vCPU) / 4GiB 运行流畅:4GiB 内存能确保在运行 Flask 后端、PostgreSQL 数据库及 AI 情绪分析算法时拥有充足的缓冲空间。
CPU 型号 随机物理型号,由阿里云分配

最终选择按量计费的模式,便于在非开发与维护时间段关闭服务器,节省花费

二、团队沟通、协作与代码管理

团队沟通

主要使用微信同步进度、分配任务等

  • 即时通讯:使用微信建立项目群,用于日常进度同步、任务分配、问题讨论及重要提醒。
  • 会议沟通:每周线下约研讨室进行周会,同步整体进展、解决阻塞问题并规划下一阶段任务;紧急情况随时发起线上讨论。

代码管理

使用github进行代码管理与同步

仓库结构

  • 主仓库:/ProjectName
    • frontend/:Vue 3 项目
    • backend/:Node.js 项目
    • docs/:技术文档、API 文档

分支策略

分支 用途 保护规则
main 生产环境代码,始终可部署 仅通过 Pull Request 合并!
develop 测试分支,用于预发布环境 PR 合并需通过 CI 检查
feature/ 新功能/bug修复 develop 拉出,完成后 PR 到 develop
hotfix/ 紧急修复 main 拉出,修复后同时 PR 到 maindevelop

提交规范

格式:<type>(<scope>): <subject>

代码评审要求

  • 每个 PR 必须由至少一名 非作者本人 的成员approve。
  • 前端 PR 需经程嘉烨或刘小莉审核;
  • 后端 PR 需经王宇博或吴峥审核。
  • 评审重点:代码风格、逻辑正确性、安全漏洞、性能影响。
  • 合并前需通过CI自动检查!

三、CI/CD触发测试

yaml配置文件

name: Nexus CI/CD Pipeline

on:
  push:
    branches: [ "main" ] # 仅在 main 分支有代码推送时触发

jobs:
  # 后端环境检查阶段
  test-backend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.10'
      - name: Install dependencies
        run: |
          cd backend
          pip install -r requirements.txt

  # 前端构建阶段
  build-frontend:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '24'
      - name: Build Vue App
        run: |
          cd frontend
          npm install
          npm run build

  # 自动化部署阶段
  deploy:
    needs: [test-backend, build-frontend] # 必须前两步成功才执行部署
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to Aliyun ECS
        uses: appleboy/ssh-action@v1.0.3
        with:
          host: ${{ secrets.ALIYUN_SERVER_IP }}
          username: root
          key: ${{ secrets.ALIYUN_SSH_KEY }}
          script: |
            # 进入项目目录
            cd ${{ secrets.REMOTE_TARGET }}
            # 拉取最新代码
            git pull origin main
            # 进入后端目录,激活虚拟环境并更新依赖
            cd backend
            source venv/bin/activate
            pip install -r requirements.txt
            # 重启服务
            # pm2 restart nexus-backend

触发记录

8e1107b35a6dbf97f4d540ecda1b2f8

posted @ 2026-04-14 14:32  Nnexus  阅读(18)  评论(0)    收藏  举报