Web开发团队开发、测试、上线的环境和流程有哪些是你不知道的呢?

话不多说先上图
在这里插入图片描述

背景

这个项目刚到v0.5,只上了几次线了。远不是成熟项目,只能作为参考。估计后续还得改。欢迎大家提建议~项目是 Java Spring MVC项目。前台端代码在一个项目里。版本管理采用maven + git(stash),任务管理用JIRA,文档管理用Confluence。发布系统是公司内部的发布系统,而不是Bamboo。

几个概念
ops

最中间的那个大方框。ops系统,公司运维做的,是用来发布项目的。从git库中拷出代码相应的branch,根据maven的profile 编译代码,测试,部署可执行文件到server上,重启应用。ops有两个系统,线上和线下。就是大框里面的两个小框。有office的是办公室发布系统(线下)的。

automan-xxx 就是对应不同的部署应用。因为branch,profile和server不一样,不同的应用有不同的功能。大致功能是:

  • 线下开发 automan-dev
  • 线上开发 automan-dev
  • 线上测试 automan-alpha
  • 线上测试 automan-beta
  • 线上运营 automan
  • 个人调试 automanXXXX
    下面是branch,profile,server的含义。

branch

git的分支。可以理解成 按用途归类的版本集合。

各分支的功能

  • master 用于线上发布
  • feature-xxx 用于添加功能,添加完删除
  • develop 用于合并feature分支。
    • release 用于发布前的测试,发布完删除
  • bugfix-xxx 用于修复develop和master分支的bug。

各分支的关系和流程图

在这里插入图片描述

profile

profile是maven的参数。maven根据不同的profile,选择不同的编译配置,从而编译出不同配置的可执行文件。

不同profile的不同用途和编译配置

| 名称 | 用途数据库 | 外部环境 |
| offline | 线下和本机测试线下,开发数据库 | 线下 |
| develop | 线上develop分支测试线下,开发数据库 | 线上 |
| alpha | 线上alpha测试线下,测试数据库 | 线上 |
| online | 线上beta测试和线上环境线上,产品数据库 | 线上 |

server

运用部署的主机,分线上和线下两套主机。线上主机又分线上测试和线上产品主机。线上测试按不同用途有三组主机:develop,alpha和beta。

因为我们项目没有绑定域名,所以不需要修改host。直接访问对应主机的ip或者域名+端口就可以了。

流程

主要流程有三个:添加新功能,修复Bug和发布新版本。

添加新功能

1.发 新功能或改进 类型问题 到 JIRA 比如 ATM-54 重新设计API接口 已解决
2.把问题分配给自己(修复“经办人”)
3.根据问题的代码(上面功能的代码为ATM-54)从develop检出本地功能分支。比如 feature/ATM-54 或者 简写 ATM-54
4.添加功能
5.在本地测试通过
6.提交到本地库。commit message以 功能的代码(比如ATM-54)开头。比如“ATM-54 重新设计API接口”
7.push分支到远程
8.搭建线下测试环境(已有测试环境只需要修改branch)
9…测试功能。如果有bug,修改代码,跳到5。
10.搭建线上测试环境(已有测试环境只需要修改branch)
11.在线上develop环境测试通过
12提交pull请求
13.找人 review代码并merge到develop和master。

修复Bug

1.发 bug类型问题 到 JIRA 比如 ATM-57 版本太多显示不全
2.把问题分配给自己(修改“经办人”)
3.根据问题的代码(比如上面问题的代码为ATM-57)从master检出本地Bug修复分支。比如 bugfix-ATM-57 或者 简写 ATM-57
4.修复bug
5.在本地测试通过
6.提交到本地库。commit message以 问题的代码(比如 ATM-57) 开头。比如"ATM-57 修复 版本太多显示不全"
7.push分支到远程
8.在线下环境测试通过(小问题可省略)
9.在线上develop环境测试通过
10.提交pull请求
11.找人 review代码并merge到develop和master。

发布新版本

1.给develop添加tag:v+版本号+a
2.从develop检出release_latest
3.在ops中部署 automan-alpha
4.线上alpha测试
5.如有bug,按照 修复bug流程 修复,并merge到release_latest。重新部署。
6.给release添加tag:v+版本号+b
7.在ops中部署 automan-beta
8.线上beta测试
9.如有bug,按照 修复bug流程 修复,并merge到release_latest。重新部署。
10.给release添加tag:v+版本号
11.merge到master。
12.在ops中部署 automan
在这里插入图片描述

上面这些是我的收集和整理,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【软件测试小dao】免费获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值