理解预发布环境和项目部署流程

题外话:

终于又提笔了。一直都记得博客园,偶尔看到评论,偶尔也会翻看旧的文章。一直没有写是因为这段时间里有些忙碌,学习测试方法分析,自动化编程,发布流程环境管理,测试提效,学习和积累是一个漫长的过程,以及暂时没有找到可以单独成文写出来的内容。

这次文章讲到的内容,是如何从一个测试角度看待发布流程和环境管理这些在功能测试前应该先了解的基础。

一、环境

开发环境:

通常表示最低环境,由代码开发人员直接使用和维护,是代码最超前版本的一个环境。

测试环境:

开发人员确认代码分支在开发环境自测没有问题后,提交测试环境进行测试。

测试环境对代码和系统已经集成,可以供测试人员进行功能模块测试,集成测试,系统测试,测试环境有独立的数据库和账号权限管理系统,由测试人员使用和管理,功能型bug一般在测试环境中暴露较多。

预发布环境(Pre):

测试人员确认代码在测试环境经过测试用例测试没有问题后,提交预发布环境进行测试。

预发布环境作为上线前的最后一套环境,所有的功能和配置,数据库都已经与线上环境高度相似,仅准入本次需要上线的功能代码。测试人员使用该环境可以实现大面积的功能测试,该环境比较容易出现不同jar包的依赖和版本匹配问题。预发布环境测试没有问题的代码可以直接将该代码分支提交上线。

预发布环境不常见,一般在比较大,项目相对复杂的环境会特别搭设预发布环境,甚至有公司会搭多套预发环境供上线前使用。预发环境可以独立建立数据库,阶段迁移一些线上数据作为预发环境的测试数据;也可以直接连线上数据库测试,但这种方式需要注意脏数据的产生。

线上环境:

最高环境,直接面向用户。

二、部署

1)Application的版本管理:

通常被很多测试忽略的一点,就是检查当前测试的包的版本号。如果版本号与开发最新提供有误,需要查看最近一次部署是否成功。

2)新代码分支部署进测试环境主干代码的方式:

模式1:合并后测试。开发人员A与B的代码分支同时merge进app,提前解决冲突后,再进入测试环境供测试人员测试。

模式2:单个模块测试后退出环境。开发人员A代码分支可以先上到测试环境,测试人员测试完成后,再将A代码分支退下,提交B代码分支测试,每个分支独立管理,上线前再整理全部需要上线的分支代码。

3)上线后的所有代码需要merge到开发环境,保证后续所有代码都基于线上代码开发,避免版本漏洞。

4)发布计划:

当前后端代码都需要上线/资源存在依赖关系时,需要安排application的发布顺序,如:前端的逻辑依赖后端代码,必须先发布后端,再发布前端。

三、工具

1)showip

showip工具在浏览器右下角直接展示当前页面的IP地址,在测试中可以快速查看当前访问机器的版本号,以IP地址判断当前访问的环境是否正确。

https://chrome.google.com/webstore/detail/agoljmemkbciolpigpabjfkagboolkcj

2)URL Redirect

Redirect工具可以快速重定向某些资源的url地址,以方便在某些环境测试的时候需要用到另外一些环境的资源。

https://chrome.google.com/webstore/detail/kpdinddojclpdndplpblgckkfepjplie

(以上小工具均为chrome插件,非常快捷使用和安装)

原文地址:https://www.cnblogs.com/lsjdddddd/p/11734962.html

时间: 2024-11-02 15:44:36

理解预发布环境和项目部署流程的相关文章

项目部署流程

项目部署 http://blog.51cto.com/ljmict 项目部署流程: 买服务器, 服务器租用 选择操作系统的版本,安装系统 在开发环境中把项目需要的pip包写到一个文件 pip freeze . requirements .txt 把项目上传到服务器 部署项目, 安装需要的环境 pyhton3解释器 虚拟环境 数据库 nginx, uwsgi 服务器 nginx mysql redis uwsgi celery docker 网站流量参考 网站流量度量 pv:独立访客 ip:独立i

war项目部署流程

准备: 1安装jdk1.7及以上版本 2安装tomcat7及以上版本 到%tomcat%/bin目录下记事本编辑server.xml, 配置<Connector>元素port端口,及<Server>port端口 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>8

在Linux安装配置Tomcat 并部署web应用 (环境搭建+项目部署)(转载)

一.准备工作 1.java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中. 2.下载tomcat包,下载地址:http://tomcat.apache.org/download-70.cgi 可以本地下载后上传到服务器上,也可以直接在服务器上使用wget命令下载,本案例直接使用wget命令下载 : [[email protected] ~]# wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.77/bin/apac

mysql-MHA预发布环境架构分享(一)之架构草图、正式图展示

   [草图] 简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于 Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在 0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 该软件由两部分组成:MHA M

CentOS+JDK+Mysql+Tomcat服务器环境web项目部署

(一)配置JAVA环境 工具:云服务器1台,xshell,xftp: 工具下载地址:https://pan.baidu.com/s/1n92HJbuO-iftmLPXotkhdA 1.申请/购买阿里云或者腾讯云服务器,选好基本配置,操作系统选择CentOS7.x,服务器初始化成功: 2.重置服务器登录密码. 3.用xshell连接服务器.如下图: 4.查看yum库中的Java安装包,xshell中运行: yum -y list java* 输入之后回车,会看到各种不同版本的jdk包. 5.使用y

Nginx负载均衡项目部署流程(一个Nginx&amp;两个tomcat项目)

1.Nginx安装  (试验环境为Windows环境下的1.16.1版本) (下载地址:http://nginx.org/en/download.html) 2.Nginx配置文件修改 在http{}下修改如下: upstream myServer{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; } server { listen 81; location / { proxy_pass http://myServe

mysql-MHA预发布环境架构分享(六)之mha安装

MHA由Node和Manager组成,Node运行在每一台MySQL服务器上,也就是说,不管是MySQL主服务器.从服务器.还MHA管理机器,都要安装Node!MHA管理节点模块内部依赖MHA节点模块:MHA管理节点通过ssh连接管理mysql服务器和执行MHA节点脚本. 步骤一.IP划分: 主库:10.142.132.52 [keepalived] 从库1:10.142.132.51  [keepalived 备主] 从库2:10.142.132.47 从库3:10.142.132.48 mh

mysql-MHA预发布环境架构分享(八)之relay log的清除

(1)设置relay log的清除方式(在每个slave节点上): mysql -e 'set global relay_log_purge=0' 注意: MHA在发生切换的过程中,从库的恢复过程中依赖于relay log的相关信息,所以这里要将relay log的自动清除设置为OFF,采用手动清除relay log的方式.在默认情况下,从服务器上的中继日志会在SQL线程执行完毕后被自动删除.但是在MHA环境中,这些中继日志在恢复其他从服务器时可能会被 用到,因此需要禁用中继日志的自动删除功能.

mysql-MHA预发布环境架构分享(二)之mysql源码安装

安装mysql源码包: (1).安装cmake (mysql5.5以后是通过cmake来编译的) 下载解压cmake-2.8.5.tar.gz tar zxf cmake-2.8.12.2.tar.gz -C /usr/local/src cd /usr/local/src/cmake-2.8.12.2 ./configure --prefix=/usr/local/cmake make && make install export PATH=/usr/local/cmake/bin:$P