[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中如何实现团队项目之 ...
随机推荐
- Elasticsearch(6) --- Query查询和Filter查询
这篇博客主要分为 :Query查询和Filter查询.有关复合查询.聚合查询也会单独写篇博客. 一.概念 1.概念 一个查询语句究竟具有什么样的行为和得到什么结果,主要取决于它到底是处Query还是F ...
- w3cschool-网站建设
W3C 简介 什么是 W3C? W3C 指万维网联盟(World Wide Web Consortium) W3C 创建于1994年10月 W3C 由 Tim Berners-Lee 创建 W3C 是 ...
- Apex pg walkthrough Intermediate
nmap扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.157.145 Starting Nmap 7.94SVN ( https://nmap.org ) ...
- DVWA靶场XSS漏洞通关教程及源码审计
XSS漏洞 XSS(跨站脚本攻击,Cross-Site Scripting)是一种安全漏洞,通常发生在Web应用程序中.XSS漏洞允许攻击者把恶意脚本注入到内容中, 这会在其他用户的浏览器中执行.这种 ...
- C#中的内部函数(子函数)
private bool GetMedicalAdvice(string zyID, out DataTable dtM, out DataTable dtD) { bool result = fal ...
- 去除小程序scroll-view产生的横向滚动条
<template> <view class="page-demo"> <scroll-view class="scrool-more&qu ...
- linux系统ntp时间同步
linux系统ntp时间同步 概要 linux系统时间同步有ntp和chrony两种不同实现方式. 两者相比chrony性能更优,如果系统支持,那么能够使用chrony尽量使用它. chrony 具有 ...
- flutter-超出部分隐藏
第一种写法 1 ConstrainedBox( 2 constraints: BoxConstraints( 3 maxHeight: 100 4 ), 5 child: Stack( 6 overf ...
- stay:将代码翻译为Gif动图,妈妈再也不用担心我调试找不到bug了
本文首发于微信公众号:呼哧好大枫.原作者与本文作者是同一人. 平常在做算法题或者是 debug 的时候很需要一款能够实时地将代码执行逻辑和数据以图形化的形式渲染出来的工具.之前尝试了几款(visual ...
- JavaGUI - [04] BoxLayout
题记部分 一.简介 为了简化开发,Swing引入了一个新的布局管理器:BoxLayout.BoxLayout可以在垂直和水平两个方向上摆放GUI组件,BoxLayout提供了如下一个简单的构造器: ...