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

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

项目 内容
这个作业属于哪个课程 首页 - 2025年春季软件工程(罗杰、任健) - 北京航空航天大学 - 班级博客 - 博客园
这个作业的要求在哪里 T.3 团队项目:团队基础设施及 DevOps 准备 - 作业 - 2025年春季软件工程(罗杰、任健) - 班级博客 - 博客园
我在这个课程的目标是 学习并掌握软件工程方法,与团队成员一起完成一个属于我们自己的软件工程项目。
这个作业在哪个具体方面帮助我实现目标 学习搭建开发平台,使用云服务器、代码管理平台、CI/CD触发,为团队开发提供技术支持

服务器选择

本团队决定使用了一台服务器,详情如下:

服务器 阿里云ECS
CPU 2核(vCPU)
内存 2 GiB
操作系统 Ubuntu 24.04 64bit
系统盘 ESSD Entry云盘 40 GiB
数据盘 -
带宽 3Mbps
地域 北京
计费方式 包年包月

配置分析

  • 厂商选择:阿里云,价格低廉(可白嫖)。
  • 地域选择:北京,距离近,延迟低。
  • CPU2核(vCPU),满足开发需求。
  • 内存:2GB,能有效支持我们开发的数据负载。
  • 带宽:3Mbps,我们开发的应用功能几乎无需数据交互,因此足够满足对传输速度的要求。
  • 系统盘:ESSD Entry云盘 40 GiB,容量可以满足保存应用程序及数据的要求。

团队沟通,协作与代码管理

团队沟通的平台和方式

我们的团队主要采用飞书和微信两个平台进行日常沟通:

  • 微信

    • 特点: 快速消息传递、群聊讨论、文件传输与共享、语音/视频通话。
    • 使用场景:
      • 日常即时通讯:成员之间的快速问答与信息分享。
      • 群组公告:发布紧急通知、临时任务更新等。
  • 飞书

    • 特点: 集成即时通讯、在线协作文档、会议日程安排、任务管理及项目讨论等。
    • 使用场景:
      • 项目讨论:通过创建团队群或项目讨论区,集中讨论项目要点。
      • 资料共享:利用飞书文档、云盘等工具共享文档资料,便于多人实时协作。
      • 会议沟通:安排在线会议、视频通话,进行团队会议和远程协作讨论。

主要的沟通方式如下:

  • 日常即时消息: 利用微信和飞书实现快速沟通,确保问题能够在第一时间得到反馈与解答。
  • 定期会议与在线讨论:
    • 通过飞书安排定期项目例会,明确工作进展和接下来的任务分配。
    • 针对具体问题或需求,设立临时讨论组或召开专题会议。
  • 文件共享与知识库建设:
    • 利用飞书的在线文档功能及时记录工作会议纪要、需求文档、设计方案等重要信息;
    • 微信群则用于快速共享图片、截图、链接等即时信息。

团队协作与代码管理工具链

我们的团队协作与代码管理主要使用下列工具:

  • 代码管理:GitHub
    • GitHub 用于托管代码仓库、版本控制、代码审查以及 CI/CD 集成。
  • 协同开发工具:Git
    • 基于 Git 的分支管理、Pull Request(PR)机制保证了代码的协同开发与版本可控。

工具链具体使用方式如下:

  • GitHub 仓库管理

    • 仓库结构:
      • 每个项目采用独立的仓库管理代码,仓库中包含 README、LICENSE、文档和源代码等。
      • 利用 .github 文件夹配置 CI/CD 文件和项目 Issue 模板。
    • 分支管理:
      • 主分支用于存放已稳定的代码;
      • 功能开发、bug 修复则使用 feature 分支,开发完成后通过 Pull Request 合并。
    • Pull Request(PR):
      • 提交代码时以 PR 的方式进入代码审查流程,确保至少一位团队成员审核后合并。
      • PR 模板中附带任务描述与修改说明,便于跟踪和讨论代码变更。
    • Issue 及项目看板:
      • 利用 Issue 管理功能记录需求、缺陷与改进建议;
      • 使用项目看板(Projects 或 GitHub Projects)追踪任务进度,实现任务的可视化管理。
  • CI/CD 集成

    • 通过 GitHub Actions 配置 CI/CD 流程,实现代码提交后的自动构建、静态代码扫描(如需要)及部署。
    • 前期可采用简单脚本验证流程,以后根据项目需求逐步扩充。
  • 协同开发与版本控制工作流程

    • 代码同步: 每位成员在本地使用 Git 工具进行代码同步和版本提交。
    • 代码评审: 通过 PR 进行代码评审,团队成员各自检查代码质量、风格以及实现的合理性。
    • Bug 跟踪与版本发布: 利用 Issue 和 Tag 功能跟踪代码中的问题,并在版本更新时打上相应的 Tag,方便后续版本回退或补丁开发。

因此,团队协作的工作流程如下:

  1. 任务分配:
    在团队会议中明确各自任务后,创建相应的 GitHub Issue,并在飞书中共享任务链接。

  2. 分支开发:
    每位成员新建 feature 分支并在本地开发,完成后提交代码并创建 PR。

  3. 代码审查与合并:
    其他成员在 PR 中进行代码审查,若审核通过则合并到主分支;若有问题反馈后续修改。

  4. 自动化构建与部署:
    每次提交 PR 或合并后,GitHub Actions 自动触发预设的 CI/CD 流程,确保代码构建和部署环境正常。

  5. 问题反馈与迭代:
    通过 GitHub Issue 反馈新出现的问题,团队通过飞书或微信进行讨论,及时制定迭代计划。

CI/CD 触发测试

CI/CD 配置文件如下:

name: Simple CI

on:
  push:
    branches: 
      - main
  pull_request:
    branches: 
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: 检出代码
        uses: actions/checkout@v3

      - name: 执行简单脚本
        run: echo "Hello World, CI/CD Pipeline triggered!"

触发的列表截图如下:

posted @ 2025-04-10 18:04  JietBrains  阅读(40)  评论(0)    收藏  举报