CN115408047B - 一种版本发布方法、装置及电子设备 - Google Patents

一种版本发布方法、装置及电子设备 Download PDF

Info

Publication number
CN115408047B
CN115408047B CN202210962317.8A CN202210962317A CN115408047B CN 115408047 B CN115408047 B CN 115408047B CN 202210962317 A CN202210962317 A CN 202210962317A CN 115408047 B CN115408047 B CN 115408047B
Authority
CN
China
Prior art keywords
version
task
resource
update time
local
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.)
Active
Application number
CN202210962317.8A
Other languages
English (en)
Other versions
CN115408047A (zh
Inventor
朱家钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dake Information Technology Co Ltd
Original Assignee
Beijing Dake Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dake Information Technology Co Ltd filed Critical Beijing Dake Information Technology Co Ltd
Priority to CN202210962317.8A priority Critical patent/CN115408047B/zh
Publication of CN115408047A publication Critical patent/CN115408047A/zh
Application granted granted Critical
Publication of CN115408047B publication Critical patent/CN115408047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及一种版本发布方法、装置及电子设备,应用于计算机技术领域,其中该方法在自定义插件中创建目标版本发布任务;运行自定义插件,执行目标版本发布任务,目标版本发布任务包括以下至少一项:清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务。本公开实施例提升了版本发布的效率。

Description

一种版本发布方法、装置及电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种版本发布方法、装置及电子设备。
背景技术
安卓应用程序包(Android application package,APK)的新版本发布之前需要执行网页资源校对、下载更新网页资源、创建并切换发版分支等重复且耗时的操作,现有技术在脚本文件中创建能够实现网页资源校对、下载更新网页资源、创建并切换发版分支等功能的多个任务,然后由技术人员手动执行来完成各个任务,创建在脚本文件中的各个任务仍需要人工手动执行,导致版本发布的效率并未得到有效提升。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种版本发布方法、装置及电子设备。
第一方面,本公开提供了一种版本发布方法,该方法包括:
在自定义插件中创建目标版本发布任务;
运行自定义插件,执行目标版本发布任务;
目标版本发布任务包括以下至少一项:
清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务。
作为本公开实施例的一种实施方式,目标版本发布任务包括创建并切换version分支任务,运行自定义插件,执行目标版本发布任务,包括:
根据目标版本发布任务中包括的第一version分支的标识,检测主干版本库中是否存在第一version分支;
在主干版本库中存在第一version分支的情况下,删除第一version分支,创建并切换至第二version分支。
作为本公开实施例的一种实施方式,目标版本发布任务还包括更新版本号任务,在主干版本库中存在第一version分支的情况下,删除第一version分支,创建并切换至第二version分支之后,还包括:
获取当前时间,生成并更新第二version分支的版本号;
将第二version分支的版本号提交至主干版本库。
作为本公开实施例的一种实施方式,目标版本发布任务包括网页资源校对任务,运行自定义插件,执行目标版本发布任务,包括:
获取服务端网页资源的最后更新时间,以及本地网页资源的最后更新时间,服务端网页资源为与目标版本对应的网页资源;
若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,则删除本地网页资源。
作为本公开实施例的一种实施方式,目标版本发布任务还包括下载更新网页资源任务,若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,则删除本地网页资源之后,还包括:
下载并解压缩服务端网页资源的压缩包,以得到服务端网页资源;
删除压缩包;
将服务端网页资源进行打包得到安卓应用程序包,并发布安卓应用程序包。
作为本公开实施例的一种实施方式,目标版本发布任务还包括修改本地最后更新时间任务,若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,则删除本地网页资源之后,还包括:
根据服务端网页资源的最后更新时间,修改本地网页资源的最后更新时间。
作为本公开实施例的一种实施方式,目标版本发布任务还包括提交任务,根据服务端网页资源的最后更新时间,修改本地网页资源的最后更新时间之后,还包括:
将本地网页资源以及本地网页资源的最后更新时间提交至主干版本库。
第二方面,本公开提供了一种版本发布装置,该装置包括:
创建模块,用于在自定义插件中创建目标版本发布任务;
运行模块,用于运行自定义插件,执行目标版本发布任务;
目标版本发布任务包括以下至少一项:
清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务。
作为本公开实施例的一种实施方式,目标版本发布任务包括创建并切换version分支任务,运行模块,具体用于根据目标版本发布任务中包括的第一version分支的标识,检测主干版本库中是否存在第一version分支;
在主干版本库中存在第一version分支的情况下,删除第一version分支,创建并切换至第二version分支。
作为本公开实施例的一种实施方式,目标版本发布任务还包括更新版本号任务,运行模块,还用于获取当前时间,生成并更新第二version分支的版本号;
将第二version分支的版本号提交至主干版本库。
作为本公开实施例的一种实施方式,目标版本发布任务包括网页资源校对任务,运行模块,具体用于获取服务端网页资源的最后更新时间,以及本地网页资源的最后更新时间,服务端网页资源为与目标版本对应的网页资源;
若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,则删除本地网页资源。
作为本公开实施例的一种实施方式,目标版本发布任务还包括下载更新网页资源任务,运行模块,还用于下载并解压缩服务端网页资源的压缩包,以得到服务端网页资源;
删除压缩包;
将服务端网页资源进行打包得到安卓应用程序包,并发布安卓应用程序包。
作为本公开实施例的一种实施方式,目标版本发布任务还包括修改本地最后更新时间任务,运行模块,还用于根据服务端网页资源的最后更新时间,修改本地网页资源的最后更新时间。
作为本公开实施例的一种实施方式,目标版本发布任务还包括提交任务,运行模块,还用于将本地网页资源以及本地网页资源的最后更新时间提交至主干版本库。
第三方面,本公开提供一种电子设备,该电子设备包括:包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的版本发布方法。
第四方面,本公开提供一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的版本发布方法。
第五方面,本公开提供一种计算机程序产品,包括:当计算机程序产品在计算机上运行时,使得计算机实现如第一方面或其任意一种可选的实施方式的版本发布方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开提供一种版本发布、装置及电子设备,该方法包括,首先在自定义插件中创建目标版本发布任务,其中目标版本发布任务包括以下至少一项:清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务;然后,运行自定义插件,执行目标版本发布任务,从而由自定义插件自动执行目标版本发布任务,无需人工介入,提升了版本发布的效率和准确率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种版本发布方法的流程示意图一;
图2为本公开实施例中一种版本发布方法的流程示意图二;
图3为本公开实施例中提供的一种版本发布装置的结构示意图;
图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。此外,在本公开的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的技术名词作简单地介绍:
Gradle是一个项目自动化构建开源工具。它使用一种基于Java虚拟机的敏捷开发语言(Groovy)的特定领域语言(Domain Specific Language,DSL)来声明项目设置,也增加了基于科特林(Kotlin)语言的kotlin-based DSL,抛弃了基于可扩展标记语言(Extensible Markup Language,XML)的各种繁琐配置。
在利用Gradle构建项目时使用插件能够扩展项目的功能,使用插件可以在项目中添加任务、添加依赖配置,也可以针对项目中现有的对象类型添加新的扩展属性、方法,还可以对项目进行约定。
现有技术在利用Gradle发布新版本的安卓应用程序包时,直接在脚本文件(build.gradle)中创建不同的任务,例如网页资源校对、下载更新网页资源、创建并切换发版分支等任务,然后设置各个任务之间的依赖关系,进一步需要由技术人员通过gradlew或者Androidstudio右侧gradle的任务文件夹中找到对应的任务来执行。一方面,多个任务直接创建在脚本文件中,不易于管理和维护,会增加其他开发人员的阅读成本,并且无法得到编译后的文件,代码的可扩展性差;另一方面,人工手动执行任务导致版本发布效率低、出错率高。
为解决上述问题,本公开提供一种版本发布、装置及电子设备,该方法包括,首先在自定义插件中创建目标版本发布任务,其中目标版本发布任务包括以下至少一项:清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务;然后,运行自定义插件,执行目标版本发布任务,从而由自定义插件自动执行目标版本发布任务,避免人工介入,提升了版本发布的效率和准确率。
本公开实施例所描述的版本发布方法可应用于版本发布装置或者电子设备,其中,该版本发布装置可以为电子设备中可实现版本发布方法的功能模块和/或功能实体。
上述电子设备可以包括:智能手机(如Android手机、IOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、视频矩阵、监控平台、移动互联网设备(MID,MobileInternet Devices)或穿戴式设备、服务器,例如,云服务器等设备,上述仅是举例,而非穷举,包含但不限于上述设备。
本公开实施例应用于新版本应用程序包上线应用商店之前,由开发人员使用Gradle这一工具,在Gradle中的自定义插件中创建目标版本发布任务,然后运行自定义插件执行目标版本发布任务,从而执行清除缓存、创建并切换version分支、更新版本号、网页资源校对、下载更新网页资源、修改本地最后更新时间以及提交至主干版本库的操作,从而得到的应用程序包包括的是从服务端下载的最新版本的网页资源,进一步使得新版本应用程序包顺利上线。
图1为本公开实施例提供的一种版本发布方法的流程示意图一,如图1所示,该方法包括以下步骤S101~S102:
S101、在自定义插件中创建目标版本发布任务。
其中,目标版本发布任务包括以下至少一项:清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务。
一些实施例中,目标版本发布任务中包括的至少一项任务之间设置依赖关系。其中,依赖关系是是不同任务之间的相互关系,包括完成-开始关系(Finish-to-Start,FS)、开始-开始关系(Start-to-Start,SS),完成-完成关系(Finish-to-Finish,FF)。本公开实施例中,为保证目标版本发布任务的顺利执行,设置至少一项任务之间的依赖关系为完成-开始关系,可以理解为,前一个任务执行成功后再执行后一个任务。
S102、运行自定义插件,执行目标版本发布任务。
一些实施例中,若目标版本发布任务中包括清除缓存任务,则在运行自定义插件时,执行该清除缓存任务,从而避免缓存中其他任务对此次目标版本发布任务造成影响,也保留更大的存储空间来创建其他任务并执行。
一些实施例中,若目标版本发布任务中包括创建并切换version分支任务,则在运行自定义插件时,执行创建并切换version分支任务。在执行创建并切换version分支任务的过程中,目标发版任务中包括第一version分支的标识(versionBranchname),首先根据第一version分支的标识检测主干版本库中是否存在第一version分支,以判断本地是否已经存在第一version分支。若本地的主干版本库中不存在第一version分支,则创建并切换至第一version;若本地的主干版本库中存在第一version分支,则执行删除第一version分支的命令(git branch-D),然后执行创建并切换至第二version分支的命令(git branch-b),从而保证创建并切换的version分支是最新的。
一些实施例中,若目标版本发布任务中包括更新版本号任务,则在运行自定义插件时,执行更新版本号任务。其中,版本号是开发人员用于判断新旧版本的号码,更新版本时版本号会增加,例如第一个版本的版本号定义为1,之后版本升级更新时版本号递增,根据版本号能够确定是否需要进行版本更新。在执行更新版本号任务的过程中,获取当前时间生成第二version分支的版本号,然后从本地配置文件中通过正则匹配找到历史version分支的版本号,进一步将利用第二version分支的版本号替换历史version分支的版本号,以保存此次版本发布任务对应的版本号。
一些实施例中,若目标版本发布任务中包括网页资源校对任务,则在运行自定义插件时,执行网页资源校对任务。在执行网页资源校对任务的过程中,首先通过调用指令(HttpURLConnection)调用接口向服务端请求服务端网页资源的最后更新时间,该服务端网页资源是与目标版本对应的网页资源,再获取本地网页资源的最后更新时间,然后调用比较指令(compareUpdateTime)将服务端网页资源的最后更新时间与本地网页资源的最后更新时间进行比较。若服务端网页资源的最后更新时间早于本地网页资源的最后更新时间,表示本地网页资源是最新版本的,保留本地网页资源,进一步的将本地网页资源进行打包得到安卓应用程序包,并发布该安卓应用程序包。若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,表示本地网页资源并不是最新版本的,调用删除命令(deleteLocalResFile)删除本地网页更新资源,需要获取最新版本的服务端网页资源。
一些实施例中,若目标版本发布任务中包括下载更新网页资源任务,则在运行自定义插件时,执行下载更新网页资源任务。在执行下载更新网页资源任务的过程中,调用下载命令(downloadH5ResFile)从服务端下载服务端网页资源的压缩包,然后调用解压缩命令(unzipDownloadFile)对服务端网页资源的压缩包进行解压缩,以得到服务端网页资源,其中,服务端网页资源的压缩包包括:article资源包、article8资源包,然后删除服务端网页资源的压缩包,以节省存储空间。
一些实施例中,若目标版本发布任务中包括修改本地最后更新时间任务,则在运行自定义插件时,执行修改本地最后更新时间任务。在执行修改本地最后更新时间任务的过程中,调用修改本地最后更新时间指令(updateLocalUpdateTime),根据服务端网页资源的最后更新时间修改本地网页资源的最后更新时间,以对本地网页资源的最后更新时间进行更新,用于下一次版本发布时与服务端网页资源的最后更新时间进行校对。
一些实施例中,若目标版本发布任务中包括提交任务,则在运行自定义插件时,执行提交任务。在执行提交任务的过程中,将第二version分支的版本号提交至主干版本库,或者,将本地网页资源和本地网页资源的最后更新时间提交至主干版本库,从而将此次目标版本发布任务中修改的数据提交至主干版本库,以实现数据同步,便于下一次版本发布。
综上,本公开实施例提供的一种版本发布方法,首先在自定义插件中创建目标版本发布任务,其中目标版本发布任务包括以下至少一项:清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务;然后,运行自定义插件,执行目标版本发布任务,从而由自定义插件自动执行目标版本发布任务,避免人工介入,提升了版本发布的效率和准确率。
图2为本公开实施例中一种版本发布方法的流程示意图二,目标版本发布任务包括:清除缓存任务、创建并切换version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务,且前一个任务执行成功后再执行后一个任务。如图2所示,前述步骤S102,可替换为以下步骤S1021~S1027:
S1021、运行所述自定义插件,执行清除缓存任务。
S1022、执行创建并切换version分支任务。
可选的,根据第一version分支的标识,检测主干版本库中是否存在第一version分支,在主干版本库中存在第一version分支的情况下,删除第一version分支,创建并切换至第二version分支。
S1023、执行更新版本号任务。
可选的,获取当前时间作为第二version分支的版本号,然后获取本地配置文件,通过正则匹配查找历史version分支的版本号,并将历史version分支的版本号替换为第二version分支的版本号。
S1024、执行网页资源校对任务。
可选的,首先调用接口向服务端请求服务端网页资源的最后更新时间,再获取本地网络资源的最后更新时间,比较服务端网页资源的最后更新时间和本地网络资源的最后更新时间。
若服务端网页资源的最后更新时间早于本地网页资源的最后更新时间,表示本地网页资源是最新版本的,保留本地网页资源,进一步的将本地网页资源进行打包得到安卓应用程序包,并发布该安卓应用程序包。
若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,表示本地网页资源并不是最新版本的,删除本地网页更新资源,执行步骤S1025。
S1025、执行下载更新网页资源任务。
可选的,在服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间的情况下,删除本地网页更新资源之后,需要从服务端下载并解压缩服务端网页资源的压缩包,以得到最新版本的服务端网页资源,然后删除服务端网页资源的压缩包。进一步的,将服务端网页资源进行打包得到安卓应用程序包,并发布该安卓应用程序包。
S1026、执行修改本地最后更新时间任务。
可选的,本地网页资源已经替换为服务端网页资源,将本地网页资源的最后更新时间修改为服务端网页资源的最后更新时间。
S1027、执行提交任务。
可选的,在执行上述步骤S1021~S1026之后,修改了version分支的版本号,此时的version分支的版本号是第二version分支的版本号,还修改了本地网页资源以及本地网页资源的最后更新时间,需要将这些修改后的数据提交至主干版本库,以进行同步便于下一次版本发布。
图3为本公开实施例中提供的一种版本发布装置的结构示意图,该装置包括:
创建模块301,用于在自定义插件中创建目标版本发布任务;
运行模块302,用于运行自定义插件,执行目标版本发布任务;
目标版本发布任务包括以下至少一项:
清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务。
作为本公开实施例的一种实施方式,目标版本发布任务包括创建并切换version分支任务,运行模块302,具体用于根据目标版本发布任务中包括的第一version分支的标识,检测主干版本库中是否存在第一version分支;在主干版本库中存在第一version分支的情况下,删除第一version分支,创建并切换至第二version分支。
作为本公开实施例的一种实施方式,目标版本发布任务还包括更新版本号任务,运行模块302,还用于获取当前时间,生成并更新第二version分支的版本号;将第二version分支的版本号提交至主干版本库。
作为本公开实施例的一种实施方式,目标版本发布任务包括网页资源校对任务,运行模块302,具体用于获取服务端网页资源的最后更新时间,以及本地网页资源的最后更新时间,服务端网页资源为与目标版本对应的网页资源;若服务端网页资源的最后更新时间晚于本地网页资源的最后更新时间,则删除本地网页资源。
作为本公开实施例的一种实施方式,目标版本发布任务还包括下载更新网页资源任务,运行模块302,还用于下载并解压缩服务端网页资源的压缩包,以得到服务端网页资源;删除压缩包;将服务端网页资源进行打包得到安卓应用程序包,并发布安卓应用程序包。
作为本公开实施例的一种实施方式,目标版本发布任务还包括修改本地最后更新时间任务,运行模块302,还用于根据服务端网页资源的最后更新时间,修改本地网页资源的最后更新时间。
作为本公开实施例的一种实施方式,目标版本发布任务还包括提交任务,运行模块302,还用于将本地网页资源以及本地网页资源的最后更新时间提交至主干版本库。
值得注意的是,上述版本发布装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
图4为本公开实施例提供的一种电子设备的结构示意图,如图4所示,该电子设备包括:处理器401,存储器402及存储在存储器402上并可在处理器401上运行的计算机程序,该计算机程序被处理器401可以实现上述一种密钥分发方法中第一终端执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述一种密钥分发方法中第一终端执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,该计算机可读存储介质可以为只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种版本发布方法,其特征在于,包括:
在自定义插件中创建目标版本发布任务;
运行所述自定义插件,执行所述目标版本发布任务;
所述目标版本发布任务包括以下至少一项:
清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务;
所述运行所述自定义插件,执行所述目标版本发布任务,包括:
执行清除缓存任务;
以及,根据所述目标版本发布任务中包括的第一version分支的标识,检测主干版本库中是否存在所述第一version分支;
在所述主干版本库中存在所述第一version分支的情况下,删除所述第一version分支,创建并切换至第二version分支;
获取当前时间,生成并更新所述第二version分支的版本号;
将所述第二version分支的版本号提交至所述主干版本库;
以及,获取服务端网页资源的最后更新时间,以及本地网页资源的最后更新时间,所述服务端网页资源为与目标版本对应的网页资源;
若所述服务端网页资源的最后更新时间晚于所述本地网页资源的最后更新时间,则删除所述本地网页资源;
以及,下载并解压缩所述服务端网页资源的压缩包,以得到所述服务端网页资源;
删除所述压缩包;
将所述服务端网页资源进行打包得到安卓应用程序包,并发布所述安卓应用程序包。
2.根据权利要求1所述的方法,其特征在于,所述目标版本发布任务还包括修改本地最后更新时间任务,所述若所述服务端网页资源的最后更新时间晚于所述本地网页资源的最后更新时间,则删除所述本地网页资源之后,还包括:
根据所述服务端网页资源的最后更新时间,修改所述本地网页资源的最后更新时间。
3.根据权利要求2所述的方法,其特征在于,所述目标版本发布任务还包括提交任务,所述根据所述服务端网页资源的最后更新时间,修改所述本地网页资源的最后更新时间之后,还包括:
将所述本地网页资源以及所述本地网页资源的最后更新时间提交至主干版本库。
4.一种版本发布装置,其特征在于,包括:
创建模块,用于在自定义插件中创建目标版本发布任务;
运行模块,用于运行所述自定义插件,执行所述目标版本发布任务;
所述目标版本发布任务包括以下至少一项:
清除缓存任务、创建并切换版本开发迭代version分支任务、更新版本号任务、网页资源校对任务、下载更新网页资源任务、修改本地最后更新时间任务、提交任务;
所述运行模块,具体用于:执行清除缓存任务;
以及,根据所述目标版本发布任务中包括的第一version分支的标识,检测主干版本库中是否存在所述第一version分支;
在所述主干版本库中存在所述第一version分支的情况下,删除所述第一version分支,创建并切换至第二version分支;
获取当前时间,生成并更新所述第二version分支的版本号;
将所述第二version分支的版本号提交至所述主干版本库;
以及,获取服务端网页资源的最后更新时间,以及本地网页资源的最后更新时间,所述服务端网页资源为与目标版本对应的网页资源;
若所述服务端网页资源的最后更新时间晚于所述本地网页资源的最后更新时间,则删除所述本地网页资源;
以及,下载并解压缩所述服务端网页资源的压缩包,以得到所述服务端网页资源;
删除所述压缩包;
将所述服务端网页资源进行打包得到安卓应用程序包,并发布所述安卓应用程序包。
5.一种电子设备,其特征在于,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3任一项所述的版本发布方法。
6.一种计算机可读存储介质,其特征在于,包括:所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的版本发布方法。
CN202210962317.8A 2022-08-11 2022-08-11 一种版本发布方法、装置及电子设备 Active CN115408047B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210962317.8A CN115408047B (zh) 2022-08-11 2022-08-11 一种版本发布方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210962317.8A CN115408047B (zh) 2022-08-11 2022-08-11 一种版本发布方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN115408047A CN115408047A (zh) 2022-11-29
CN115408047B true CN115408047B (zh) 2023-07-25

Family

ID=84159334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210962317.8A Active CN115408047B (zh) 2022-08-11 2022-08-11 一种版本发布方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115408047B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293763A (zh) * 2016-08-19 2017-01-04 广州唯品会信息科技有限公司 应用组件版本的管理方法及装置
CN108647041A (zh) * 2018-04-02 2018-10-12 金证财富南京科技有限公司 一种混合型APP本地Web资源热更新机制
CN111966354A (zh) * 2020-08-17 2020-11-20 Oppo(重庆)智能科技有限公司 一种页面显示方法、装置及计算机可读存储介质
WO2021217868A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 基于Git的项目版本发布方法、装置、设备及介质
CN113791966A (zh) * 2021-06-29 2021-12-14 五八有限公司 一种异常定位处理方法、装置、电子设备及存储介质
CN114553855A (zh) * 2020-11-25 2022-05-27 北京奇艺世纪科技有限公司 插件灰度发布方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631318B2 (en) * 2002-06-28 2009-12-08 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
US11868936B2 (en) * 2016-05-24 2024-01-09 Thomson Reuters Enterprise Centre Gmbh Systems and methods for workflow and practice management
CN105867950A (zh) * 2016-05-31 2016-08-17 广东能龙教育股份有限公司 一种基于Gradle和Svn在线自动化打包方法
CN106888256B (zh) * 2017-02-21 2021-06-04 阿里巴巴(中国)有限公司 分布式监控系统及其监控和调度方法与装置
US10445207B2 (en) * 2017-07-31 2019-10-15 Oracle International Corporation System and method to execute and manage load tests using containers
CN107678969B (zh) * 2017-10-18 2021-04-02 阿里巴巴(中国)有限公司 测试版本发布方法、装置、版本控制设备和测试机
CN111124420B (zh) * 2019-12-19 2023-06-20 北京百度网讯科技有限公司 编译方法、装置、电子设备及可读存储介质
CN111399858B (zh) * 2020-02-28 2024-04-02 平安科技(深圳)有限公司 安卓应用程序包打包方法、设备、存储介质及装置
CN113468336A (zh) * 2021-05-28 2021-10-01 北京海致星图科技有限公司 一种知识图谱平台公共组件发布效率改进方法
CN114296753A (zh) * 2021-11-26 2022-04-08 网易(杭州)网络有限公司 文件发布方法、装置、存储介质及电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293763A (zh) * 2016-08-19 2017-01-04 广州唯品会信息科技有限公司 应用组件版本的管理方法及装置
CN108647041A (zh) * 2018-04-02 2018-10-12 金证财富南京科技有限公司 一种混合型APP本地Web资源热更新机制
WO2021217868A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 基于Git的项目版本发布方法、装置、设备及介质
CN111966354A (zh) * 2020-08-17 2020-11-20 Oppo(重庆)智能科技有限公司 一种页面显示方法、装置及计算机可读存储介质
CN114553855A (zh) * 2020-11-25 2022-05-27 北京奇艺世纪科技有限公司 插件灰度发布方法、装置、电子设备及存储介质
CN113791966A (zh) * 2021-06-29 2021-12-14 五八有限公司 一种异常定位处理方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HireBuild: An Automatic Approach to History-Driven Repair of Build Scripts;Foyzul Hassan;《2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)》;1-7 *
基于语音识别的帕金森病识别系统研究与实现;李磊;《中国优秀硕士学位论文全文数据库 (医药卫生科技辑)》;E070-15 *
面向任务的服务代理技术研究;龙凤鸣;《万方》;1-60 *

Also Published As

Publication number Publication date
CN115408047A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN106156186B (zh) 一种数据模型管理装置、服务器及数据处理方法
US20200379752A1 (en) Equivalency of revisions on modern version control systems
US20210216302A1 (en) Web ui automation maintenance tool
CN110012096B (zh) 移动客户端服务更新管理方法、装置及系统
CN103997544A (zh) 一种资源下载的方法和设备
US10922213B2 (en) Embedded quality indication data for version control systems
CA3155732A1 (en) Business process configuring method, business request processing method, and devices
CN110895471A (zh) 安装包生成方法、装置、介质及电子设备
CN111932207A (zh) 项目数据处理方法、装置、计算机设备和存储介质
CN112860282A (zh) 集群插件的升级方法、装置和服务器
CN111290738A (zh) 应用程序的资源处理方法、装置、设备及存储介质
CN117693734A (zh) 前端项目处理方法、装置、设备、管理系统及存储介质
CN116069325A (zh) 前端项目构建方法、装置、设备及计算机可读存储介质
CN104572034A (zh) 一种撤销和/或重做的实现方法和装置
US9952953B2 (en) Non-monotonic eventual convergence for desired state configuration
CN113138768B (zh) 应用程序包生成方法、装置、电子设备以及可读存储介质
US10540397B2 (en) Algorithm to check compatibility of business object types to prevent business catalog corruption on resource update
CN109117199B (zh) 分布式程序的配置管理方法和装置
CN115408047B (zh) 一种版本发布方法、装置及电子设备
US9047159B2 (en) Software installation
CN114721681A (zh) 配置文件更新方法、装置、设备及存储介质
CN114253595A (zh) 代码仓库管理方法、装置、计算机设备及存储介质
CN113821249A (zh) 项目开发配置的方法、装置、电子设备和可读存储介质
JP6705482B2 (ja) システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム
CN111737964A (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