版本制作自动化方案

【Game Of AutoTest】2、游戏自动化测试的技术选型 要做游戏自动化测试,首先需要了解游戏自动化技术。因此,本文详细讲解下游戏自动化测试领域可能用到的一些技术以及对应的场景,为自动化测试落地的技术选型提供参考。 阅读详情

(文章来源于GAME-LAB 欢迎大家来GAME-LAB!地址:http://game-lab.org/?p=96)


最近工作比较忙,游戏功能相关的代码就敲个不停,根本无暇去思考一些东西。趁着周末,整理下上周关于版本制作流程的优化的一些想法,有时间就立马去实现,希望能提高项目组做版本的速度,省得每次程序兄弟每天等版本等的都想哭,还有做版本的兄弟,天天就重复着在一堆svn revision list里面挑来挑去,如此机械的工作,希望脚本可以帮他们完成一部分。既省了时间,也省了人力。只期望以后少加点班。

问题

有两个svn分支,一个用于开发(主干Trunk),一个是对外发布的分支(BranchA)。根据要发布的内容列表,合并主干相关的revision到BranchA,有冲突解决之。

这里,要发布的内容列表就是taskid列表,某个要发布的功能都会对应唯一的一个taskid,代码提交的时候,提交日志里面一般都会标有相对于的taskid。制作版本的核心,就是根据这些taskid从主干代码提交日志里面去找相应的日志条目所对应的revision,然后合并到BranchA,合并过程中有冲突则找相应的程序予以解决。重复上面的操作,直到tasklist里面所有功能相关的revision都被合并入BranchA。然后提交,编译,测试。

版本制作现状

手动维护一份未从Trunk分支合并到BranchA分支的revision列表,Trunk新提交的日志也只能手动复制下来,格式化处理一下,然后复制到未合并列表中。根据需求,将要发布的功能,一个一个在未合并列表里面手动查找,然后去合并,有冲突就通知相应的开发程序去解决冲突,合并好之后把相应的条目从未合并列表中删除。全部手动完成的,机械并且效率低下,并且很容易漏掉某条提交revision,实在于心不忍啊!

解决方案

对于上述问题和现在版本制作现状,提出下面的解决方案。实现制作版本的脚本化,提高工作效率。

注意:版本制作的自动化,刚开始实施可能会有点问题。因为大家的提交日志,虽然包含了功能taskid,但格式千奇百怪,没有统一,虽然脚本可以识别大多数提交日志,但还是存在挑错revision的可能,对此也不必担心,在此提供了一个工具去检测这些不符合规格的提交日志,可以先手动去改下这些提交日志即可。希望以后svn提交日志的格式也符合指定的规格,这样更加利于版本制作的自动化。

版本工具脚本
  • config 用于配置一些相关参数,比如svn主干或分支的路径、未合并revision列表文件、task列表文件、版本制作日志等等。
  • getlog 根据指定的revision或revision1:revision2从主干上抽取相应的日志,并格式化处理之,格式化处理的文件有3种格式,下面会有详细介绍。
  • pickup 根据要合并的功能列表文件(tasklist)从未合并列表unmergelist中挑选出要合并的revision列表,并将其从未合并列表中删除。生产一个要合并的revision列表文件mergelist,和新的unmergelist文件。
  • merge 根据mergelist提供的revision,将主干Trunk中相应的revision合并到BranchA中,没有冲突就自动提交并继续下一个revision,有冲突就会停止并给出提示,此时可以让相应的提交者解决冲突。
  • resolve 冲突手动解决完后,执行该脚步,自动解决所有的冲突然后提交到BranchA,继续执行merge脚步直到结束。
三种版本日志格式
  1. list  revision数字列表文件。
  2. xml xml格式的提交日志,提供了详细的提交信息,版本号、提交者、日期和时间、提交日志等。
  3. txt  文本格式,只提供版本号、提交者和提交日志。


三种文件格式的转换

整体流程

制作版本的整体流程图如下:

  1. ready 准备阶段,设置配置。
  2. getlog 提取主干日志。
  3. pickup 挑版本。
  4. merge 合并。
  5. resolve 解决冲突。
整体流程
准备工作(ready)

执行所有脚本之前,请先做好准备工作。详细内容如下:

  • 准备好当前的未合并列表文件(unmergedlist)
  • 准备好要发布的功能列表文件(tasklist)
  • 创建一个工作目录,脚本生成的结果和中间结果都会在此目录下
  • 配置config脚步里面相关的参数,包含svn路径、工作目录等等相关信息。

准备工作

提取日志(getlog)

从主干中提取指定版本范围的提交日志。此操作根据需求可选。生产的gelostlist文件的路径还有版本范围都在config配置中可进行设置。

提取日志
挑选版本(pickup)

完成版本挑选过程,代替人工挑选版本的机械重复劳动。

挑选版本
合并版本(merge)

自动完成版本的合并工作,并提交至BranchA。有冲突就会停止,手动解决完冲突后继续执行该脚步。合并完所有mergelist里面的revision。

合并
解决冲突(resolve)

merge的时候发现冲突了,让相应的提交者修改完冲突后,执行该脚本,完成解决冲突的工作并提交至BranchA。然后继续执行merge脚本。

解决冲突

总结

希望上面的脚本可以实现版本制作的自动化,上面的内容不包含编译、打包、测试等过程。对于版本制作者而言,上面这些工作占据了大量的时间,并且非常容易出错。希望该方案可以解决版本制作中的一些问题。

2011/08/21 12:49 上海·松江 david++


游戏自动化脚本开发:从图像识别到模拟输入的技术实现与合规边界 游戏自动化技术是计算机视觉与桌面自动化领域的交叉应用,其核心原理是通过图像识别定位游戏界面元素,结合模拟输入技术实现自动化操作。这项技术的价值在于能够将重复性任务自动化,提升效率,并可作为学习计算机视觉、自动化测试等技术的实践场景。在游戏领域,自动化脚本可用于单机游戏的玩法扩展、游戏机制研究以及自动化测试等场景。本文以“反杀安全区营地守卫”这一具体需求为例,深入探讨了基于Python和OpenCV的图像识别技术,以及使用pyautogui进行模拟输入的关键实现步骤,同时强调了在游戏自动化开发中必须严格遵守的 阅读详情

相关推荐

游戏自动化脚本开发指南:从图像识别到安全部署

自动化脚本(BOT)是计算机视觉与输入模拟技术的典型应用,其核心原理是通过图像识别(如OpenCV)或内存读取感知环境状态,再结合状态机逻辑驱动模拟输入(如pyautogui)执行预定操作。这项技术能显著提升重复性任务的执行效率,在软件自动化测试、单机游戏辅助等场景具有重要价值。本文以游戏内物品搬运为例,系统拆解了自动化脚本的部署流程、功能验证方法及安全边界,重点探讨了图像识别精度优化、输入模拟兼容性等工程实践问题,并强调了在授权环境下合规使用的重要性。

weixin_29051811的博客 298

ITK 5.4.0重磅发布:10大新特性彻底改变科学图像处理流程

Insight Toolkit (ITK) 5.4.0正式发布!作为一款开源跨平台的N维科学图像处理、分割与配准工具包,本次更新带来了革命性的功能提升和性能优化,将彻底改变您的科学图像处理流程。无论您是新手还是专业用户,都能从中获得极致的图像处理体验。 ## 1. 现代化Markdown文档系统:知识获取从未如此轻松 📚 ITK 5.4.0对文档系统进行了全面革新,从传统的Wiki迁移到基于

gitblog_00096的博客 484

动漫制作中的文件版本管理与命名规范实践

在数字内容生产领域,文件版本管理是确保项目有序推进的关键技术。其核心原理是通过标准化的命名规范和版本控制策略,实现文件系统的可追溯性与团队协作效率。良好的版本管理能有效避免文件覆盖、混淆等问题,特别适用于动漫制作、游戏开发等需要频繁迭代的场景。以《龙珠Z》项目为例,采用'作品名_集数编号-版本号'的命名体系,配合元数据记录和自动化脚本,可大幅提升文件检索与管理效率。实际应用中还需结合ShotGrid等专业工具,建立完整的数字资产管理流程。

weixin_33375360的博客 157

Python开发游戏自动化后台脚本——实例分享

那是因为click的底层逻辑move_to以及left_down、left_up都是需要PostMessageW来传递坐标信息才能完成的。寻找标题为title的窗口,激活该窗口并置于x_coor, y_coor处,title可利用visual studio的spy++.exe查看;光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

xjt921122的博客 2286

用WorkBuddy自动化《泰坦之旅》Mod制作:从配置到打包的完整实战

游戏模组(Mod)制作是玩家对游戏进行个性化修改和扩展的常见方式,其核心原理是通过编辑游戏的数据文件(如脚本、配置、资源文件)来改变游戏内容。传统手工修改方式往往面临操作繁琐、易出错、测试周期长等技术痛点。借助自动化技术,可以构建标准化的工作流,将创作者从重复劳动中解放,专注于创意设计,从而极大提升开发效率和项目可维护性。WorkBuddy作为一个可视化自动化平台,通过其强大的文件处理、逻辑编排和脚本执行能力,恰好能胜任游戏Mod制作中批量处理、模板渲染和流程编排等任务。本文将以经典ARPG游戏《泰坦之旅》

weixin_30514745的博客 458

AI+Markdown自动化生成PPT:程序员的高效演示文稿制作方案

在软件开发和团队协作中,演示文稿制作是常见的需求,但传统方式往往效率低下且设计门槛高。其核心原理在于将内容创作与样式设计解耦,通过结构化文本(如Markdown)驱动自动化生成流程。这一技术方案的价值在于显著提升效率、保证视觉一致性,并能无缝集成到开发者的现有工具链中。具体应用时,可以利用国内可访问的AI工具(如通义千问、文心一言)进行内容生成,再结合Marp等转换引擎,在VSCode环境中实现从Markdown到精美幻灯片的自动化编译。本文聚焦于如何构建一个完整的、可落地的AI-PPT工作流,涵盖从环境搭

weixin_34049948的博客 449

浏览器缓存清理全指南:Chrome、Edge、Firefox、Safari操作与避坑

浏览器缓存是提升网页加载速度的核心机制,通过存储静态资源减少重复下载。其原理基于HTTP缓存策略,技术价值在于优化性能与用户体验。在开发调试、日常浏览中,缓存问题常导致页面异常或登录失效。应用场景涵盖前端开发、多浏览器环境及隐私清理。本文针对Chrome、Edge、Firefox、Safari四大浏览器,详解缓存清理步骤,区分缓存与Cookie,并提供强制刷新、精准清理等实用技巧,帮助用户高效解决缓存问题,避免误删登录状态。

weixin_34054866的博客 358

带有验证码的爆破(包含Burp suite工具爆破)

关于含有验证码爆破的一些总结!

weixin_43960066的博客 8693

系统部署自动化工具实战指南:无需编程基础的跨版本兼容解决方案

你是否遇到过这些系统部署难题:老旧设备无法安装最新Windows系统?企业批量部署时版本混乱?紧急情况下启动盘制作耗时过长?传统部署工具往往受限于硬件兼容性、操作复杂度和版本锁定,而MediaCreationTool.bat作为一款开源的系统部署自动化工具,通过灵活的脚本配置和智能适配能力,为不同场景提供了高效解决方案。 ## 为什么传统部署方法正在失效 传统Windows部署方式面临三重困境

gitblog_00219的博客 346

PowerBuilder 9.0安装组件全解析:Adaptive Server Anywhere、PowerDynamo、InfoMaker到底怎么选?

本文从技术架构师视角详细解析PowerBuilder 9.0安装组件选型策略,包括Adaptive Server Anywhere、PowerDynamo和InfoMaker的核心功能与应用场景。通过分析组件间的依赖关系和安装冲突机制,提供针对不同开发需求的最佳安装方案,帮助开发者高效配置PB9.0开发环境。

weixin_28700593的博客 441

Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)

安装前运行微软常用运行库全集(也可能称为依赖)关于MySQL8中相关参数配置,可通过。选择8.5.2LTS长期服务版。选中密码,右键会直接复制。

xzzteach的博客 1440

终极Windows 11系统部署全攻略:从安装介质制作到自动化升级的完整指南

MediaCreationTool.bat是一款功能强大且简单易用的Windows 10/11部署自动化工具,它不仅是一个通用的MediaCreationTool包装脚本,还巧妙支持商业版系统,帮助用户轻松制作安装介质并实现自动化升级。 ## 为什么选择MediaCreationTool.bat进行Windows 11部署? 对于新手和普通用户而言,Windows 11的部署过程可能充满挑战,

gitblog_00687的博客 470

AI应用架构师:用RAG解决大模型“幻觉”问题的客服架构设计

在当今的智能客服领域,大语言模型(LLM)凭借流畅的对话能力和强大的理解能力,逐渐取代传统规则式机器人,成为客服系统的核心。但随之而来的“幻觉”问题(即模型编造不存在的信息)却成了致命伤:比如客户问“你们的产品保修期多久”,AI客服可能会自信地回答“3年”,而实际保修期只有1年——这种错误不仅会误导客户,还可能引发投诉、退货甚至法律风险。

AI天才研究院 915

如何在Windows电脑上制作macOS官方安装盘:跨平台解决方案终极指南

你是否曾因为没有Mac电脑而无法制作macOS安装盘而苦恼?**gibMacOS**这个开源Python工具彻底改变了这一现状,让Windows用户也能直接从Apple官方服务器下载macOS组件,制作纯净的官方安装介质。无论你是技术爱好者、IT运维人员还是普通用户,这个跨平台解决方案都能帮你突破设备限制,轻松完成系统维护任务。通过**gibMacOS下载macOS**,你可以获得最纯净的系统镜像

gitblog_00942的博客 818

69、SAP数据库归档重做日志备份策略与工具详解

本文详细解析了SAP数据库归档重做日志备份的重要性及策略,介绍了SAP提供的备份工具brarchive及其配置和使用方法,探讨了BRBACKUP与BRARCHIVE的联合运行、一致在线备份、备用数据库备份场景以及备份策略的综合应用与优化。此外,还分析了备份过程中常见问题的解决方法、备份监控与评估流程、与第三方备份解决方案的集成方式,以及未来备份技术的发展趋势和应对策略。通过合理运用这些策略和工具,可以有效保障SAP数据库的安全性和可恢复性。

peace的博客 135

CATIA二次开发——遍历几何图形集下的轴系及控制轴系生成位置

CATIA二次开发——轴系相关问题1.遍历几何图形集下的轴系2.解决轴系生成位置的问题 1.遍历几何图形集下的轴系 近期遇到的问题:遍历轴系的时候发现,AxisSystem属性的轴系只有放在轴系集合下,才能被找到,放在几何图形集或其他位置均不能被找到。本来想遍历几何图形集下的轴系元素,但是发现没有对应的属性,只能查找 几何图形集、几何元素、草图等元素,无法直接遍历轴系。 解决办法:(加入选择集,在选择集中筛选轴系类型) HybridBody axisHB = activePart.HybridBodies

WorkMan的博客 2731

在Windows上免费制作macOS官方安装盘的终极指南

还在为没有苹果电脑而无法制作macOS安装盘发愁吗?gibMacOS这个开源工具为你提供了完美的跨平台解决方案!这款Python脚本能直接从Apple官方服务器下载macOS组件,让你在Windows系统上也能制作纯净的官方安装介质。无论是技术爱好者还是IT运维人员,都能轻松突破设备限制,完成系统维护和恢复任务。 **核心关键词:** Windows制作macOS安装盘、gibMacOS开源工具

gitblog_00022的博客 1063

YOLOv11原创改进专栏|原创自研篇|DAA模块手把手添加教程

个人简介:大家好!我是 DAA 注意力机制,堪称深度学习中的“聚光灯”。我的任务是帮助模型聪明地识别关键特征,就像一位经验丰富的侦探,能够在繁杂的数据中找到重要线索。通过结合通道和空间的注意力,我能确保模型把重点放在最有价值的信息上,从而提升识别准确率。简单来说,我就是帮助你的模型变得更加专注、敏锐,让它在一堆数据中轻松找到“宝藏”,为检测精度加分!动态适应性特征提取DAA通过动态生成卷积核来适应输入特征的变化,从而实现针对不同数据的自适应特征提取。

mywhyyds的博客 379

macOS离线安装包制作实战:跨平台自动化部署完整指南

你是否曾因网络问题无法下载macOS安装文件?或需要为多台设备批量部署系统却受限于重复下载?本文将详细解析gibMacOS项目,一个能够从Apple服务器直接下载macOS组件的跨平台Python脚本工具,帮助你构建完整的macOS离线安装包解决方案。 ## 痛点分析与解决方案概述 ### 传统macOS部署的挑战 macOS系统部署长期以来依赖App Store,这在实际运维中带来了诸多不

gitblog_00942的博客 1134

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

AI数字人营销视频制作:低成本高效率的自动化解决方案

AI数字人技术是人工智能在虚拟形象生成领域的重要应用,通过深度学习算法实现面部表情、肢体动作和语音的逼真模拟。其核心原理基于计算机视觉、语音合成和视频渲染技术的深度融合,能够自动生成高度拟人化的视频内容。这项技术的工程价值在于大幅降低了视频制作的门槛和成本,使中小企业也能获得专业级的营销素材。在营销建站场景中,AI数字人可应用于产品介绍、品牌宣传、客服解答等多个环节,特别适合需要快速产出多版本内容进行A/B测试的数字化营销需求。本文介绍的AI建站数字人方案正是基于这一技术,通过自动化流程实现营销视频的小时级

weixin_33402252的博客 261

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

openstack ironic ipa 以及用户镜像制作

中的centos和ubuntu操作系统的镜像可以直接从社区直接下载下来使用,但是总是感觉有问题,cloud-init初始化程序是通用的,启动速度很慢,查了一下相关信息,发现是cloud-init进程会去访问外网一个地址,感觉使用起来用户体验很差。手工制作镜像是最符合实际使用需求的,想定制什么样的镜像都可以,但是有些费时费力。目标是建立一个拥有Nova所需的所有组件的镜像,如trove所需的数据库镜像,ironic所需的支持硬件裸机的镜像。最终成功了,这真的是够费劲的,遇到各种问题,各种改脚本兼容。

一名运维开发工程师的日常记录 881

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

高效制作Windows安装盘:MediaCreationTool.bat绕过限制与自定义镜像全指南

MediaCreationTool.bat是一款功能强大的Windows安装媒体创建工具,作为开源的自动化部署脚本,它支持从Windows 10 1507到Windows 11 21H2的全版本系统制作。通过简洁的Batch脚本调用微软官方工具,让原本复杂的安装盘制作过程变得高效而简单。本文将详细介绍该工具的核心优势、准备工作、进阶操作以及问题解决方法,帮助你轻松掌握Windows安装盘的制作技巧

gitblog_00160的博客 732

VibeVoice声音设计:影视配音自动化解决方案

本文介绍了如何在星图GPU平台上一键自动化部署VibeVoice实时语音合成系统,实现影视配音的智能化生产。该镜像支持多角色自然对话和长篇幅内容连续生成,可大幅缩短动画片、纪录片等影视作品的配音周期,降低制作成本并提升效率。

weixin_34511754的博客 109

Windows系统部署自动化终极指南:3步完成专业级Windows安装介质制作

面对Windows系统部署中的硬件限制突破与批量安装挑战,传统手动方式效率低下且易出错。本文将深入解析MediaCreationTool.bat项目如何实现系统部署自动化,提供完整的Windows升级方案,并通过创新技术解决兼容性问题,让老旧设备也能焕发新生。 ## 问题重构:系统部署中的三大核心挑战 现代Windows系统部署面临多重技术障碍,这些挑战直接影响部署效率与成功率: 1. **

gitblog_00720的博客 243
上一篇: 关于代码学习的一些看法
下一篇: 每周一荐:程序设计语言原理、英国组曲
future_fighter
博客等级 码龄20年 129粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值