[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 |
| 地域 | 北京 |
| 计费方式 | 包年包月 |
配置分析:
- 厂商选择:阿里云,价格低廉(可白嫖)。
- 地域选择:北京,距离近,延迟低。
- CPU:2核(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,方便后续版本回退或补丁开发。
因此,团队协作的工作流程如下:
-
任务分配:
在团队会议中明确各自任务后,创建相应的 GitHub Issue,并在飞书中共享任务链接。 -
分支开发:
每位成员新建 feature 分支并在本地开发,完成后提交代码并创建 PR。 -
代码审查与合并:
其他成员在 PR 中进行代码审查,若审核通过则合并到主分支;若有问题反馈后续修改。 -
自动化构建与部署:
每次提交 PR 或合并后,GitHub Actions 自动触发预设的 CI/CD 流程,确保代码构建和部署环境正常。 -
问题反馈与迭代:
通过 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!"
触发的列表截图如下:

浙公网安备 33010602011771号