CN114726848A - Windows平台的客户端自动化打包和exe分发方法及装置 - Google Patents
Windows平台的客户端自动化打包和exe分发方法及装置 Download PDFInfo
- Publication number
- CN114726848A CN114726848A CN202210633669.9A CN202210633669A CN114726848A CN 114726848 A CN114726848 A CN 114726848A CN 202210633669 A CN202210633669 A CN 202210633669A CN 114726848 A CN114726848 A CN 114726848A
- Authority
- CN
- China
- Prior art keywords
- integration tool
- client
- packaging
- compiling
- continuous integration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种windows平台的客户端自动化打包和exe分发方法及装置,所述方法包括:部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。所述装置使用了所述方法。本发明使得window平台客户端的打包和exe的分发的大部分操作可以自动化完成,有利于降低操作时间以及人力成本,同时提高了研发人员、测试人员和试用人员之间的信息交互效率,减轻研发人员排查问题的难度,减少排查时间,保障了测试效能。
Description
技术领域
本发明涉及网络技术领域,具体涉及一种windows平台的客户端自动化打包和exe分发方法及装置。
背景技术
EXE文件(executable file,可执行文件)是一种可在操作系统存储空间中浮动定位的可执行程序。在 Windows 系统中的执行文件一般都采用exe 文件。在 windows 客户端测试的过程中,经常会有四种使用场景需要提供exe,分别是:场景一:通过人工修改代码,研发自测通过后,重新打包客户端,提供 exe 给客户进行联调;场景二:研发人员提测后,通过人工修改代码,重新打包客户端,将生成的 exe 安装包提供给测试人员进行验收;场景三:研发人员提测后,通过人工修改代码,重新打包客户端,将生成的 exe 安装包提供给公司其他人员进行试用。场景四:使用者在使用客户端安装包的过程中,出现一些bug,反馈到开发和测试人员这边进行复现、修复和验收确认。
然而,以上四种场景,都会存在占用研发人员、测试人员和试用人员的时间,主要问题体现在四个方面:
一、每次需要重新打包客户端,或者需要提供 exe 安装包时,都需要研发人员花费时间来修改代码、重新打包客户端和导出对应的 exe 安装包,特别是在测试过程中,研发人员要频繁进行打包和导出安装包的操作,需要重复消耗人力和时间资源;如果在打包的过程中出现操作问题、配置问题或者环境问题,提供安装包的时间也不可控;
二、研发人员导出 exe 安装包后,需要通过通讯工具发送,测试人员和试用人员需要下载 exe 安装包,再安装使用;如果在下载的过程中,办公网络不稳定,容易下载失败或延长下载时间,测试和试用成本过高;
三、测试人员在测试和验收过程中,要提前与研发人员确认本次的问题修复和提测功能,占用研发人员和测试人员的时间;
四、由于现有的客户端打包机制缺乏打包信息、版本信息和该客户端版本编译时所生成的 pdb 文件(程序数据库文件),导致使用者反馈的bug不能定位到具体客户端问题,间接加大研发人员排查问题的难度,增加排查时间。
发明内容
针对现有技术的不足,本发明提出一种windows平台的客户端自动化打包和exe分发方法及装置,解决了现有技术中客户端打包和exe分发时,需要人力频繁介入而导致的效率低下、测试和试用成本高等缺陷。
本发明的技术方案是这样实现的:一种windows平台的客户端自动化打包和exe分发方法,包括:
部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;
控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;
控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
在其中一个实施例中,上述所述windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机;所述控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作的步骤,具体为:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
在其中一个实施例中,上述所述控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作的步骤,包括:
控制所述持续集成工具调用多个Windows平台的客户端打包环境;
设置代码文件存储路径,并设置编译路径变量;
通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹;
确定代码文件存储路径和所述前置条件后,更新工程文件;
在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间;
根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录;
在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件;
确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名;
进行本地重要文件备份;
根据选择参数判断是否需要上传客户端 pdb。
在其中一个实施例中,上述所述控制所述持续集成工具调用所述节点服务器,根据用户需求自行选择与所述持续集成工具对应的持续集成构建、打包、上传或备份操作的步骤,还包括:
对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接;
如果打包编译失败,则停止编译,并将失败信息打印到控制台。
在其中一个实施例中,所述持续集成工具包括Jenkins,所述工程文件包括VisualStudio工程文件,所述第三方应用包括钉钉。
本发明还提供了一种windows平台的客户端自动化打包和exe分发装置,包括:
部署模块,用于部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;
第一控制模块,用于控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;
第二控制模块,用于控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
在其中一个实施例中,上述所述windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机;所述第一控制模块,具体用于:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
在其中一个实施例中,上述所述第一控制模块,具体用于:
控制所述持续集成工具调用多个Windows平台的客户端打包环境;
设置代码文件存储路径,并设置编译路径变量;
通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹;
确定代码文件存储路径和所述前置条件后,更新工程文件;
在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间;
根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录;
在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件;
确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名;
进行本地重要文件备份;
根据选择参数判断是否需要上传客户端 pdb;
对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接;
如果打包编译失败,则停止编译,并将失败信息打印到控制台。
本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的windows平台的客户端自动化打包和exe分发方法。
本发明还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的windows平台的客户端自动化打包和exe分发方法。
本发明实施例通过对Windows平台的各项环境配置进行针对性的部署,使得Windows平台可以适应exe安装包的打包环境和其他所需的各项环境,并控制持续集成工具调用配置完成的windows平台,以调用配置完成的windows平台作为节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作,使得客户端的打包和exe的分发的大部分操作可以自动化完成,有利于降低操作时间以及人力成本,提高EXE软件开发过程中的测试效能,提高交付质量。同时,本发明实施例通过控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制,使得各个流程的相关信息均可以通过第三方应用进行通知提醒,提高了研发人员、测试人员和试用人员之间的信息交互效率,减轻研发人员排查问题的难度,减少排查时间,进一步保障了测试效能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的windows平台的客户端自动化打包和exe分发方法的流程图;
图2为本发明第二实施例的windows平台的客户端自动化打包和exe分发方法的流程图;
图3为本发明第二实施例的钉钉作为第三方应用,在通知机制建立后弹出通知提醒的示意图;
图4为本发明第三实施例的windows平台的客户端自动化打包和exe分发装置的结构框图;
图5为本发明的又一实施方式的计算机内部构造示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。
首先,对本发明可能涉及的名词及缩写及进行解释:
Win:Windows 操作系统的简称,是由美国微软公司(Microsoft)研发的操作系统。
exe:exe file 可执行程序,一种可在操作系统存储空间中浮动定位的可执行程序。在 Windows 系统中的执行文件一般都是 .exe 文件。
bug:计算机领域漏洞或缺陷。
Jenkins:一种持续集成工具。
Node:Jenkins的节点服务器的统称。
变量:计算机名词,是计算机语言中能储存计算结果或能表示值的抽象概念。
Visual Studio:Microsoft Visual Studio,简称VS,是最流行的Windows平台应用程序的集成开发环境。
SVN:subversion的缩写,是一个开发源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
pdb:程序数据库文件,pdb文件是在编译工程的时候产生的,它是和对应的模块(exe或dll)一起生成出来的。
第一实施例:
请参照图1所示,本发明实施例公开了一种windows平台的客户端自动化打包和exe分发方法,包括:
S11,部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器。
在本实施例中,通过对Windows平台的各项环境配置进行针对性的部署,使得Windows平台可以适应exe安装包的打包环境和其他所需的各项环境,本实施例的windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机等。
S12,控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作。
作为一种具体方案而非限定,S12具体包括:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
作为一种优选方案而非限定,本实施例的持续集成工具为Jenkins。本实施例通过将Jenkins作为主服务器,将各已部署的windows平台作为Node节点服务器,由Jenkins发出操作指令,并由多个Node节点服务器完成诸如手工打包和上传exe安装包等对应的工具化操作,避免消耗大量的人力和时间成本,提高了并发和效能。
S13,控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
上述第三方应用通常包括聊天或管理app,示例性的,第三方应用可以是微信、QQ、Skype或钉钉。
本发明实施例通过对Windows平台的各项环境配置进行针对性的部署,使得Windows平台可以适应exe安装包的打包环境和其他所需的各项环境,并控制持续集成工具调用配置完成的windows平台,以调用配置完成的windows平台作为节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作,使得客户端的打包和exe的分发的大部分操作可以自动化完成,有利于降低操作时间以及人力成本,提高EXE软件开发过程中的测试效能,提高交付质量。同时,本发明实施例通过控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制,使得各个流程的相关信息均可以通过第三方应用进行通知提醒,提高了研发人员、测试人员和试用人员之间的信息交互效率,减轻研发人员排查问题的难度,减少排查时间,进一步保障了测试效能。
第二实施例:
请参照图2和图3所示,本发明实施例公开了另一种windows平台的客户端自动化打包和exe分发方法,包括:
S201,部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器。
S201与第一实施例的对应步骤相同,在此不再赘诉。
作为一种改进方案而非限定,本实施例S21还包括创建账号配置表user_info。
S202,控制所述持续集成工具调用多个Windows平台的客户端打包环境。
与上述第一实施例相同的是,本实施例的持续集成工具为Jenkins。本实施例通过将Jenkins作为主服务器,将各已部署的windows平台作为Node节点服务器,由Jenkins发出操作指令,并由多个Node节点服务器完成诸如手工打包和上传exe安装包等对应的工具化操作,避免消耗大量的人力和时间成本,提高了并发和效能。
本步骤S202的具体数据如下:
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" amd64_x86
S203,设置代码文件存储路径,并设置编译路径变量。
本步骤S203的具体数据如下:
echo "-----------设置路径-----------"
set CodeBaseDir=D:\Jenkins\workspace\package_for_PolyvLive_64
set DepBaseDir=D:\Jenkins\workspace\package_for_PolyvLive_64\
dependencies2015
S204,通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹。
本步骤S204的具体数据如下:
echo "------cmake更新Visual Studio工程文件------------------"
echo "-----新版本打包需打开下面两个语句------------------"
rd /s /Q %CodeBaseDir%\build
mkdir %CodeBaseDir%\build
cd %CodeBaseDir%\build
S205,确定代码文件存储路径和所述前置条件后,更新工程文件。
作为一种优选方案而非限定,所述工程文件包括Visual Studio工程文件。本步骤S205的具体数据如下:
cmake .. -G "Visual Studio 15 2017 Win64" ^
-
DDepsPath:PATH=D:/Jenkins/workspace/package_for_PolyvLive_64/dependencies2015/win64/include ^
-DQTDIR:PATH=C:/Qt/Qt5.12.5/5.12.5/msvc2017_64
S206,在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间。
本步骤S206的具体数据如下:
cd %CodeBaseDir%\package
::设置日志文件名称并保存编译时间.
if not exist %CodeBaseDir%\package\output\log mkdir %CodeBaseDir%\package\output\log
S207,根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录。
本步骤S207的具体数据如下:
set LogFile="%CodeBaseDir%\package\output\log\%date:~0,4%-%date:
~5,2%-%date:~8,2%.log"
echo 开始时间:%date% %time% >> %LogFile%
echo 开始时间:%date% %time%
S208,在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的 SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件。
本步骤S208的具体数据如下:
cd %CodeBaseDir%\package\res
echo "-----------替换exe的res资源,多svn版本记录:SCM_CHANGELOG---------------"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" /i /f %CodeBaseDir%\package\res\MakeFile SVN_VERSION="%version%.%SVN_REVISION_1%" BIN64=1 EXE_BIT="64">> %LogFile% 2>&1
cd %CodeBaseDir%\build
echo "-------编译生成可执行文件-----------"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe" polyvlive-studio.sln /t:rebuild /p:Configuration=Release
S209,确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名。
本步骤S209的具体数据如下:
echo "-------修改可执行文件为polyvlive64.exe----------"
cd rundir\Release\bin\64bit
if not exist obs64.exe goto ExeNoExist
del polyvlive64.exe
ren obs64.exe polyvlive64.exe
C:\Qt\Qt5.12.5\5.12.5\msvc2017_64\bin\windeployqt.exe polyvlive64.exe
cd C:\Workspace\polyv-winlive
echo "-------切换到执行目录-----------"
cd %CodeBaseDir%\package
echo "-----------正在打包安装包---------------"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" /i /f %CodeBaseDir%\package\MakeFile SVN_VERSION="%version%.%SVN_REVISION_1%" BIN64=1 EXE_BIT="64">> %LogFile% 2>&1
echo finishtime:%date% %time% >> %LogFile%
S210,进行本地重要文件备份。
本步骤S210的具体数据如下:
echo "--------统一管理安装包--------------"
set packageDir=D:\xxz\V4PPT\PolyvLive
set _my_datetime=%date:~0,10%_%time:~0,5%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=_%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
copy %CodeBaseDir%\package\output\PolyvLiveSetup.exe %packageDir%\PolyvLiveSetup_64_%version%.%SVN_REVISION_1%_%_my_datetime%.exe
copy %CodeBaseDir%\package\output\*.zip %packageDir%\pdb
S211,根据选择参数判断是否需要上传客户端 pdb。
本步骤S211的具体数据如下:
if "%uploadPDB%"=="true" copy %CodeBaseDir%\package\output\*.zip D:\xxz\V4PPT\uploadPDB
echo "------------安装包名称---------------"
echo PolyvLiveSetup_64_%version%.%SVN_REVISION
_1%_%_my_datetime%.exe
S212,对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接。
本实施例的下载链接可以是文本链接,或者是超链接,还可以是包含下载链接的二维码图片等。
本步骤S212的具体数据如下:
cd ../
echo "--------统一管理安装包--------------"
echo "--------安装包分发 --------------"
cd D:\cwrsync
"D:\cwrsync\bin\rsync.exe" -avP --delete --chmod=755 /cygdrive/d/xxz/V4PPT/PolyvLive root@192.168.*.*::demo/testpackages/V4PPT
S213,如果打包编译失败,则停止编译,并将失败信息打印到控制台。
本步骤S213的具体数据如下:
goto Finish
:ExeNoExist
echo "--------编译失败--------------"
:Finish
echo "--------end--------------"
S214,控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
S214与第一实施例的对应步骤相同,在此不再赘诉。
本发明实施例通过持续集成工具进行定时、手动和代码更新自动打包,克服了每次有代码修改,需要研发人员修改代码、重新打包客户端、导出并发送 exe 安装包的缺陷。通过持续集成打包后自动上传到服务器进行分发,通过扫描二维码或者点击下载链接后进行下载安装;解决了测试人员和试用人员下载 exe 安装包安装使用的操作问题。另外,本实施例通过持续集成工具每次打包构建时自动获取代码修改记录,可直接通过变更记录来了解;解决测试人员在测试和验收过程中需要反复确认代码的问题修复和提测功能点。最后,本实施例通过增加客户端的打包信息、版本信息和客户端版本编译时所生成的pdb文件,可以帮助研发人员快速定位问题,减轻研发人员排查问题的难度,减少排查时间,提高客户端的测试效能和交付质量。
第三实施例:
请参照图4所示,本发明还提供了一种windows平台的客户端自动化打包和exe分发装置100,包括部署模块110、第一控制模块120和第二控制模块130,其中:
部署模块110,与第一控制模块120连接,用于部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;
第一控制模块120,与第二控制模块130连接,用于控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;
第二控制模块130,用于控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
在本发明的实施方式中,所述windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机;所述第一控制模块120,具体用于:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
在本发明的实施方式中,所述第一控制模块120,具体用于:
控制所述持续集成工具调用多个Windows平台的客户端打包环境;
设置代码文件存储路径,并设置编译路径变量;
通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹;
确定代码文件存储路径和所述前置条件后,更新工程文件;
在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间;
根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录;
在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件;
确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名;
进行本地重要文件备份;
根据选择参数判断是否需要上传客户端 pdb;
对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接;
如果打包编译失败,则停止编译,并将失败信息打印到控制台。
本实施例的模块与上述两个方法实施例中的步骤一一对应,在此不再赘诉。
本发明实施例通过对Windows平台的各项环境配置进行针对性的部署,使得Windows平台可以适应exe安装包的打包环境和其他所需的各项环境,并控制持续集成工具调用配置完成的windows平台,以调用配置完成的windows平台作为节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作,使得客户端的打包和exe的分发的大部分操作可以自动化完成,有利于降低操作时间以及人力成本,提高EXE软件开发过程中的测试效能,提高交付质量。同时,本发明实施例通过控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制,使得各个流程的相关信息均可以通过第三方应用进行通知提醒,提高了研发人员、测试人员和试用人员之间的信息交互效率,减轻研发人员排查问题的难度,减少排查时间,进一步保障了测试效能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述各实施例中的windows平台的客户端自动化打包和exe分发方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各windows平台的客户端自动化打包和exe分发方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
与上述的计算机存储介质对应的是,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述各实施例中的windows平台的客户端自动化打包和exe分发方法。
该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种windows平台的客户端自动化打包和exe分发方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本发明实施例通过对Windows平台的各项环境配置进行针对性的部署,使得Windows平台可以适应exe安装包的打包环境和其他所需的各项环境,并控制持续集成工具调用配置完成的windows平台,以调用配置完成的windows平台作为节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作,使得客户端的打包和exe的分发的大部分操作可以自动化完成,有利于降低操作时间以及人力成本,提高EXE软件开发过程中的测试效能,提高交付质量。同时,本发明实施例通过控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制,使得各个流程的相关信息均可以通过第三方应用进行通知提醒,提高了研发人员、测试人员和试用人员之间的信息交互效率,减轻研发人员排查问题的难度,减少排查时间,进一步保障了测试效能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种windows平台的客户端自动化打包和exe分发方法,其特征在于,包括:
部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;
控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;
控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
2.如权利要求1所述的方法,其特征在于,所述windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机;所述控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作的步骤,具体为:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
3.如权利要求2所述的方法,其特征在于,所述控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作的步骤,包括:
控制所述持续集成工具调用多个Windows平台的客户端打包环境;
设置代码文件存储路径,并设置编译路径变量;
通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹;
确定代码文件存储路径和所述前置条件后,更新工程文件;
在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间;
根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录;
在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的 SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件;
确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名;
进行本地重要文件备份;
根据选择参数判断是否需要上传客户端 pdb。
4.如权利要求3所述的方法,其特征在于,所述控制所述持续集成工具调用所述节点服务器,根据用户需求自行选择与所述持续集成工具对应的持续集成构建、打包、上传或备份操作的步骤,还包括:
对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接;
如果打包编译失败,则停止编译,并将失败信息打印到控制台。
5.如权利要求4所述的方法,其特征在于,所述持续集成工具包括Jenkins,所述工程文件包括Visual Studio工程文件,所述第三方应用包括钉钉。
6.一种windows平台的客户端自动化打包和exe分发装置,包括:
部署模块,用于部署Windows平台的各项环境配置,将所述windows平台作为持续集成工具进行调度的节点服务器;
第一控制模块,用于控制所述持续集成工具调用所述节点服务器,根据用户需求执行与所述持续集成工具对应的工具化操作;
第二控制模块,用于控制所述持续集成工具自行配置项目所需要的第三方应用的通知机制。
7.如权利要求6所述的装置,其特征在于,所述windows平台包括基于windows操作系统的多个台式电脑和手持移动装置,所述手持移动装置包括笔记本电脑、平板电脑和手机;所述第一控制模块,具体用于:
控制所述持续集成工具同时调用多个所述节点服务器,根据用户需求同步执行与所述持续集成工具对应的持续集成构建、打包、上传或备份操作。
8.如权利要求7所述的装置,其特征在于,所述第一控制模块,具体用于:
控制所述持续集成工具调用多个Windows平台的客户端打包环境;
设置代码文件存储路径,并设置编译路径变量;
通过版本号变更区分客户端打包编译的前置条件,是否需要在路径变量下新建编译文件夹;
确定代码文件存储路径和所述前置条件后,更新工程文件;
在代码文件存储处,判断有无日志文件,若没有日志文件,则设置日志文件名称并保存编译时间;
根据脚本开始时间的格式作为日志文件的记录格式,对日志文件进行记录;
在客户端具体编译过程中,可选择的替换客户端的资源,并且记录每次打包的 SVN 版本信息,执行预设的编译操作后,生成默认命名的可执行文件;
确认可执行文件完成后,将上次自动打包生成的可执行文件删除,将默认命名的可执行文件按规则命名;
进行本地重要文件备份;
根据选择参数判断是否需要上传客户端 pdb;
对编译打包完成的可执行文件和 pdb 进行统一管理,上传到网络服务器的固定目录下,生成并分发下载链接;
如果打包编译失败,则停止编译,并将失败信息打印到控制台。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述的windows平台的客户端自动化打包和exe分发方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5任意一项所述的windows平台的客户端自动化打包和exe分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633669.9A CN114726848B (zh) | 2022-06-07 | 2022-06-07 | Windows平台的客户端自动化打包和exe分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633669.9A CN114726848B (zh) | 2022-06-07 | 2022-06-07 | Windows平台的客户端自动化打包和exe分发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726848A true CN114726848A (zh) | 2022-07-08 |
CN114726848B CN114726848B (zh) | 2022-10-04 |
Family
ID=82233019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210633669.9A Active CN114726848B (zh) | 2022-06-07 | 2022-06-07 | Windows平台的客户端自动化打包和exe分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726848B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160196120A1 (en) * | 2013-09-05 | 2016-07-07 | Peking University Founder Group Co., Ltd. | iOS APPLICATION AUTOMATIC COMPILATION METHOD AND SYSTEM |
CN106155751A (zh) * | 2016-08-02 | 2016-11-23 | 传线网络科技(上海)有限公司 | 应用打包发布方法及装置 |
CN110795139A (zh) * | 2019-09-12 | 2020-02-14 | 深圳壹账通智能科技有限公司 | 客户端批量打包方法、装置、计算机设备和存储介质 |
CN111610984A (zh) * | 2020-05-09 | 2020-09-01 | 上海万间信息技术有限公司 | 基于插件的安卓应用打包分发方法、系统及应用终端 |
-
2022
- 2022-06-07 CN CN202210633669.9A patent/CN114726848B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160196120A1 (en) * | 2013-09-05 | 2016-07-07 | Peking University Founder Group Co., Ltd. | iOS APPLICATION AUTOMATIC COMPILATION METHOD AND SYSTEM |
CN106155751A (zh) * | 2016-08-02 | 2016-11-23 | 传线网络科技(上海)有限公司 | 应用打包发布方法及装置 |
CN110795139A (zh) * | 2019-09-12 | 2020-02-14 | 深圳壹账通智能科技有限公司 | 客户端批量打包方法、装置、计算机设备和存储介质 |
CN111610984A (zh) * | 2020-05-09 | 2020-09-01 | 上海万间信息技术有限公司 | 基于插件的安卓应用打包分发方法、系统及应用终端 |
Also Published As
Publication number | Publication date |
---|---|
CN114726848B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12093668B2 (en) | iOS application program construction method and apparatus, electronic device, and storage medium | |
US10114637B1 (en) | Automatically updating a shared project build platform | |
US10579966B1 (en) | Adapting a shared project build platform to a developer plugin | |
US8621419B2 (en) | Automating the life cycle of a distributed computing application | |
US8578371B2 (en) | Software distribution method and system with automatic prerequisite installation | |
CN109889377B (zh) | 基于Openstack的NFV系统中部署VNF的方法和装置 | |
KR20060045811A (ko) | 효과적 패칭 | |
KR100871778B1 (ko) | 중앙집중형 동적 어드레싱 매니저를 이용한 동적 어드레싱방법 및 장치 | |
US20140149966A1 (en) | Application, build, integration, and release management system and method | |
CN112965731B (zh) | 基于Tinker的Flutter热更新方法、装置、设备及存储介质 | |
CN114297056A (zh) | 一种自动化测试方法及系统 | |
CN110673892B (zh) | 一种基于组件配置的接口统一调用方法 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
CN115269399A (zh) | 设备稳定性测试方法、装置和计算机设备和存储介质 | |
CN114564385A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN114726848B (zh) | Windows平台的客户端自动化打包和exe分发方法及装置 | |
CN116382718A (zh) | 代码离线部署方法、装置、计算机设备及存储介质 | |
CN112527377B (zh) | 应用程序生成处理方法、装置、计算机设备和存储介质 | |
CN115509545A (zh) | 一种ios应用的打包构建方法及装置 | |
CN115374083A (zh) | 数据源的切换方法、装置、电子设备及存储介质 | |
CN114816418A (zh) | 一种嵌入式操作系统的搭建方法、装置、设备和介质 | |
US12039473B2 (en) | Software development project infrastructure builder tool | |
US20240192974A1 (en) | Simulation of one or more pipeline jobs in a software deployment pipeline | |
WO2023169045A1 (en) | Method, system, and development machine for evaluating embedded project using web browser | |
CN116204199B (zh) | 基于命令行的项目管理方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 402, No. 66, North Street, University Town Center, Panyu District, Guangzhou City, Guangdong Province, 510006 Patentee after: Yifang Information Technology Co.,Ltd. Address before: 510006 room 402, No. 66 (innovation building), North Central Street, University City, Panyu District, Guangzhou, Guangdong Province Patentee before: GUANGZHOU EASEFUN INFORMATION TECHNOLOGY Co.,Ltd. |