[T.3] 团队项目:团队基础设施及 DevOps 准备
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 首页 - 2025年春季软件工程(罗杰、任健) - 北京航空航天大学 - 班级博客 - 博客园 |
| 这个作业的要求在哪里 | T.3 团队项目:团队基础设施及 DevOps 准备 - 作业 - 2025年春季软件工程(罗杰、任健) - 班级博客 - 博客园 |
| 我在这个课程的目标是 | 学习软件工程的方法论,强化成员团队合作能力,并通过实际开发产品进行实践。 |
| 这个作业在哪个具体方面帮助我实现目标 | 为团队开发打好技术方面的基础:云服务器,沟通协作平台,代码管理平台,CI/CD触发(自动化操作) |
一、服务器选择
本团队决定使用一台服务器,详情如下:
| 类别 | 配置 |
|---|---|
| 厂商 | 腾讯云 |
| 规格 | 云服务器CVM |
| 机型 | BF1.MEDIUM4 |
| 地域 | 北京 |
| 可用区 | 北京六区 |
| 镜像 | Ubuntu Server 24.04 LTS 64位 |
| 存储 | 系统盘(70GB 增强型SSD云硬盘) |
| 带宽 | 3Mbps |
| CPU数量 | 2核 |
| CPU型号名称 | General Processers |
| 内存 | 4G |
| 数据盘 | 1块 150GiB 塔强型SSD云硬盘 |
选择一台服务器的原因:
- 首先,在开发、测试、初期运行环境下,用户数量较少,数据量较少,多台服务器性能溢出,而且反而增加了代码开发(涉及到多后端ip),部署和数据同步等问题。
- 其次,从项目特性角度来考虑,用户的信息首先保存在本地,由于收发匿名信息不存在即时性,上传速度、计算速度和接收速度不影响应用流畅度,几乎不影响用户体验,因此对服务器带宽,计算性能等因素没有太大要求。
- 综上,一台服务器完全可以满足初期运行对计算和存储的要求,足以给用户带来完整良好的体验。
各类配置的原因:
- 厂商选择,腾讯云:有限时降价秒杀,最划算。
- 地域选择,北京六区:距离近,延迟低,ping往返时间平均8ms。
- CPU****,2核General Processers:有足够的处理能力来支持应用服务器和数据库交互的需求。
- 内存****,4GB:能有效支持当前的应用负载,包括数据上传,算法推荐和数据库等。
- 带宽,3Mbps:因应用对数据上传速度几乎无要求,故当前带宽足以满足初期用户量的数据传输需求,包括数据上传下载和用户并发访问。
- 系统盘,70GB SSD:容量可以满足操作系统和保存代码,应用程序及一部分数据的要求。
- 数据盘,150****GB SSD: 本应用需保存用户上传的大量信息,因此需要较大的数据盘保存。
- 计费方式,1年477.88元:1年的运行使得团队有足够的时间开发测试app并根据用户反馈调整,打磨出相对成熟的作品。若产品推广成功得到用户的认可,便可换用更大的服务器以满足日益增长的需求。同时,因程序需要上传下载大量的图片视频等,故而通过流量计费不如固定时间划算。
二、团队沟通协作与代码管理
沟通 + 协作平台
飞书 --一站式工作协同,组织管理工具
我们团队使用飞书聊天交流,并通过丰富的内置工具加速协作。
优势
- 飞书的聊天中,对于自己发送的消息,可以查看群里所有人的已读未读情况,减少已读不回等情况的发生,促进效率。
- 飞书的聊天记录同步好于微信,即使进行卸载app等操作,数据仍保存在云端,并下载回本地同步,不担心丢失记录。
- 飞书内置了大量的工具,尤其是云文档功能最为突出,可以直接在其中进行协作编辑,支持共同在线编辑文档,ppt等文件
- 可在其中记录会议内容,写markdown文档,分工等等,极大的提高了协作效率
- 飞书内置视频会议,可方便进行线上讨论。
- 飞书同时有app与pc端,app方便随时查收消息接收通知,pc端方便文档编辑等工作任务。
代码管理平台
Github,最稳定且功能最丰富完整的代码管理平台。团队成员都有git基础,并通过T4任务学习了通过分支操作实现的并行开发,因此可以很好的使用Github进行代码协作。
三、CI/CD触发
仓库地址
配置文件
name: Django CI
on:
push:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
python-version: [3.10.6]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run Tests
run: |
python manage.py test
触发截图
[T.3] 团队项目:团队基础设施及 DevOps 准备的更多相关文章
- 在Azure DevOps Server (TFS) 中修改团队项目名称
概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...
- AxureRp 打开SVN上的团队项目
打开Axure,在菜单项中,点击 "团队" 菜单,选择 "获取团队项目": 切换到 "SVN" 选项, 填写正确的Axure项目的路径,打开 ...
- 团队项目——编写项目的Spec
团队项目--编写项目的Spec 一.Spec的目标 spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
- tfs中如何创建团队项目及如何操作团队项目
创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...
- Surprise团队项目总结
Surprise团队项目总结 项目实现情况 实现人人模式:2个用户在同一台电脑上进行切磋下棋,即实现五子棋游戏的基本功能 实现人机模式:初级模式已经实现,可以进行人机交互,但是还没达到智能判断下棋点 ...
- 团队项目——站立会议 DAY11
团队项目--站立会议 DAY11 团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱 今日(2016/5/20),站立会议已进行了两周时间,将这一周所遇到的问题和心 ...
- 团队项目——站立会议 DAY8
第八次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:在反复修改和审查后,处理功能模块代码出错处,完善并运行. 2.钟灵毓秀:再次检查代码,运行报错处的代码修改 ...
- 团队项目——站立会议DAY6
团队项目--站立会议 DAY6 团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱 今日(2016/5/13),站立会议已进行了一周时间,大家将这一周所遇到的问题和 ...
- TFS - 使用微软测试管理器实现跨团队项目的测试用例管理
在团队项目之间实现测试用例和测试计划的共享,是很多客户关注的问题.尤其在开发产品+服务的团队中,对测试用例的共享要求比较高.下面就如何在Team Foundation Server中如何实现团队项目之 ...
随机推荐
- 如何快速的开发一个完整的iOS直播app(礼物篇)
搭建礼物列表 使用modal,设置modal样式为custom,就能做到从小往上显示礼物列表,并且能看见前面的直播界面 礼物模型设计 一开始创建3个礼物模型,保存到数组,传入给礼物View展示,本来礼 ...
- MPC收藏
收集有关MPC的优秀文章,方便查阅. 同态加密 原理 介绍 程序员的干货!核心理论之同态加密 https://mp.weixin.qq.com/s/1uH0UjnS_Mo8ShXJ-16UXw BGV ...
- Exfiltrated pg walkthrough Easy
80端口弱口令admin admin 发现cms 搜索exp 发现漏洞 https://www.exploit-db.com/exploits/49876 找到敏感数据库密码和用户 ╔════════ ...
- Ubuntu开启root账户步骤
在VMware中新建一个Ubuntu,经常使用sudo 太麻烦,还是开启root账户吧. 1.打开 终端: 输入下列命令sudo gedit /usr/share/lightdm/lightdm.co ...
- [图形绘制/流程图] Mermaid : 开源的低代码图形绘制语言、协议及工具
概述:Mermaid Mermaid是一种基于Javascript的.开源的文本驱动图表生成工具/绘图工具,,使用类似于Markdown的低代码语法,它允许用户使用简单的文本语言来创建各种类型的图表 ...
- Anoii网络库之Timer实现
Timer的实现挺值得拿出来聊一聊的 Anoii网络库的事件循环: Timer是使用poll的timeout参数实现的,所以定时的精度是毫秒,对于一个网络库而言这足够了.如果不够的话,还可以使用tim ...
- Asp.Net Core3.0 微信小程序统一下单
微信统一下单开发文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 微信支付小程序支付文档:https://pay.wei ...
- Windows 提权-内核利用_1
本文通过 Google 翻译 Kernel Exploits Part 1 – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校 ...
- QWidget的isHidden和isVisible
文章目录 QWidget的isHidden和isVisible 问题的出现 QWidget的show()函数 QWidget的isVisible和isHidden 源码追溯 QWidget的isHid ...
- Qt通过setProperty来达到设置控件的不同样式表
文章目录 前言 根据不同的属性显示不一样的样式 setProperty Q_PROPERTY和DynamicProperty 前言 最近在做项目的时候,找了一个开源的小控件,发现里面有一个设置样式的骚 ...