目录

一、班车系统基本概念

1.项目流程

1.1 迭代

1.2 项目

1.3 上线工单

1.4 上线流程

1.4.1 小车&紧急更新

1.4.2 独立车

1.5 计划

2. 发布相关

2.1 灰度

2.2 部署环境

二、实例操作

1.业务要求

2.整体推进测试流程步骤

3.操作实例


一、班车系统基本概念

1.项目流程

1.1 迭代

        迭代是指在项目开发过程中,重复执行一系列任务,每次迭代都会对项目进行某些修改,并在每个迭代中都提交代码更改以产生更新的版本。其目的是逐步完善项目,逐步逼近目标,并在每个迭代中检查和修复错误,在班车系统中迭代包含规划迭代、部署联调、上线审批、发布计划。

        举例说明:以软件开发项目为例,假设要开发一个电商平台。第一次迭代可能实现基本的商品展示和下单功能;第二次迭代优化用户界面,增加购物车功能;第三次迭代完善支付流程,提高系统稳定性等。       每次迭代都在前一次的基础上进行改进和扩展,使产品逐渐达到预期的目标。

1.2 项目

        在项目管理中,项目是为创造独特的产品、服务或结果而进行的临时性努力。

        它具有明确的开始和结束时间,有特定的目标和预期结果,需要跨部门和跨职能的团队合作,交付一个较为完整产品功能称之为项目。

 迭代跟项目的关系:迭代是将项目的工作划分成多个小的周期,每个周期都包含一部分工作和交付成果,是项目实施过程中的具体操作方式。

1.3 上线工单

        提测阶段需要填写的申请,也可称为提测工单,重点包含变更内容及范围,测试点,变更回退方案及其他过程注意事项,会经leader,测试审批后才可发布上线。

1.4 上线流程

1.4.1 小车&紧急更新

        开发周期较短且需快速发布变更的小车上线流程,主要围绕缺陷修复与需求点变更展开。

其流程通常具有高效、灵活的特点,以便在较短时间内完成上线工作,及时满足业务需求。

上线流程:部署联调->灰度(准现网)>现网   

1.4.2 独立车

        对于开发周期较长的独立车而言,其上线流程着重于对变更的充分验证,一般涉及产品更新与技术优化等方面。

这要求在上线过程中进行严格、全面的测试和审核,确保产品的稳定性、可靠性以及技术的成熟性,以保障上线后的产品质量和用户体验。

上线流程:部署联调->测试环境->灰度(内灰)->灰度(外灰)>现网

1.5 计划

        每个迭代提测后,都需要创建发布计划进行对应环境变更,多个迭代可以添加到一个计划中进行上线发版。

类似版本的概念;相关变更步骤系统会自动合并。

2. 发布相关

2.1 灰度

        灰度发布是一种软件发布策略,是指在将系统更新全部发布给所有用户之前,先将更新发布给一小部分用户进行试用。

例如,管理台开发了一个新的在线支付功能,在灰度发布阶段,只让10个的用户能够使用这个新功能,通过对这部分用户的使用情况进行观察和收集反馈,来评估新功能是否存在问题。

        通过灰度发布可以降低发布风险。如果新功能或者更新在灰度阶段出现问题,只会影响到少数用户,而不会对整个用户群体造成影响。同时,通过灰度阶段收集的用户反馈,可以及时发现和解决问题,优化系统,从而提高正式发布后的用户体验。

2.2 部署环境

  • 测试环境:是开发人员用来测试新代码、新功能的独立环境。开发人员在将代码正式部署到其他环境之前,会先在测试环境中进行单元测试、集成测试等,以检查代码的正确性、功能完整性和兼容性,确保代码没有明显的错误和缺陷,这个环境与生产环境隔离,避免对正式系统造成影响。
  • 灰度环境
    • 内部灰度(简称内灰):通常是在主要供内部员工测试使用(添加内部测试名单),是产品上线前的一个过渡阶段,通过添加内部测试名单来进一步发现潜在问题。
    • 外部灰度(简称外灰):是添加部分外部用户参与测试的环境(添加外部测试名单),一般是挑选一些外部的种子用户或特定用户群体,让他们提前使用即将上线的新功能或新版本,以获取外部用户的反馈,对功能进行验证和优化。
    • 准现网灰度:是更接近现网环境的一种灰度环境,一般用于小车流程,旨在最大限度地检测在现网环境可能出现的问题,确保产品在正式上线时能稳定运行。
  • 现网环境:是正式的生产环境,是用户最终使用的环境,提供给真实用户使用的系统,需要保证系统的稳定性、安全性和性能,直接影响用户体验和业务的正常开展,因此对于部署到该环境的代码需要经过前面几个环境的充分测试和验证。

二、实例操作

1.业务要求

        针对视频检测的范围:对于商家(素材中心)上传的视频,进行创建任务(视频检测)。对于打卡部分上传的视频,不进行创建任务(视频检测)。

过滤条件:素材占用商家容量且不是打卡视频。material_source!=4&&cost_summary=1(根据URL判断的)

2.整体推进测试流程步骤

                1、先找一趟独立车,将变更服务系统添加上去,找一个现网的店铺。

        2、上传一个正常视频素材和打卡视频素材,查看视频素材状态是否正常

        3、去pg任务体系数据库中查看这两个任务是否有创建,未变更前是两个都有创建任务的。修改后打卡视频不会创建。

小车算是大家部门使用的,用于修复简单bug的

独立车是一般有迭代开发来使用,算是个人发车

3.操作实例

1》先clone到本地,修改代码。

2》提交推送到远程

3》在迭代列表创建迭代,把项目关联上,配置部署

        创建迭代

      申请提测。

         点击申请迭代

    配置部署

4》分配测试人员(自己)

5》分配之后,找到独立车

          添加我的迭代

6》代码合并

7》要先找震哥和诚哥审批,工单变为允许内灰。才能发布。

8》在内灰里测试店铺

        因为:测试下的店铺功能不能用,

        验证操作:在素材中心和打卡功能分别上传视频。

上传后

申请数据库权限,查看是否创建了任务

        使用DataGrip连接数据库

申请完成之后,去跳板机(堡垒机)终端查看

连接到DataGrip上

任务体系中与 业务 相关的都在这个表里。
SELECT *
FROM 
WHERE
kind = 'profile-6bU1vT' -- 匹配kind字段
AND args->>'app_id' = 'appnxvayufv4749'; -- 匹配JSON字段args中的app_id

args->>'app_id' 是 PostgreSQL 中查询 JSON 字段的语法:
  • -> 用于获取 JSON 对象的字段(返回 JSON 类型)
  • ->> 用于获取 JSON 对象的字段并转为文本类型(返回字符串,适合直接比较)
这个被转化为了JSON格式

        在素材中心上传了四条,打卡那边上传了一条。

        从数据库返回结果可以看出,最新上传的打卡那边的视频没有进行检测。

        经过在测试店铺的素材中心和打卡功能处上传视频,数据库查询任务体系中该店铺是否创建了任务。

9》测试是OK的,那么下一步就应该从独立车中移除我的迭代,跟测试人员说一下明天要跟车,因为测试店铺功能不能用,我的测试是在内灰中测试的。然后第二天那个基础捞单机器人就会捞我的单。

把这个名单删除,然后发布名单就可以。然后移除迭代

更改工单测试的结果

10》跟小车,介绍问题背景、如何解决的、代码。

        合并代码请求,让**审核合并,等着司机打tag,只需要配合测试进行测试即可。

        小车完成之后撒全网,班车系统完成。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐