CN106919398A - 一种软件发布方法及装置 - Google Patents

一种软件发布方法及装置 Download PDF

Info

Publication number
CN106919398A
CN106919398A CN201710128372.6A CN201710128372A CN106919398A CN 106919398 A CN106919398 A CN 106919398A CN 201710128372 A CN201710128372 A CN 201710128372A CN 106919398 A CN106919398 A CN 106919398A
Authority
CN
China
Prior art keywords
function code
code file
software
svn
released
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.)
Pending
Application number
CN201710128372.6A
Other languages
English (en)
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.)
Shandong Inspur Cloud Service Information Technology Co Ltd
Original Assignee
Shandong Inspur Cloud Service 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 Shandong Inspur Cloud Service Information Technology Co Ltd filed Critical Shandong Inspur Cloud Service Information Technology Co Ltd
Priority to CN201710128372.6A priority Critical patent/CN106919398A/zh
Publication of CN106919398A publication Critical patent/CN106919398A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种软件发布方法及装置,将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中,还包括:从所述SVN资源库中提取所述至少一个功能代码文件;根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;判断所述至少一个功能代码文件是否均构建编译成功;如果是,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;对所述产品包进行发布。本方案能够提高软件发布的效率。

Description

一种软件发布方法及装置
技术领域
本发明涉及网络通信技术领域,特别涉及一种软件发布方法及装置。
背景技术
随着互联网技术的不断发展,软件开发也越来越普遍。软件开发主要是根据用户要求建造出软件系统或者系统中的软件部分的过程,例如,手机上安装的一系列APP(Application,应用程序)。
目前,主要利用SCMT(Soft Configure Management Tool,软件配置管理工具)进行软件开发。
针对于目前利用SCMT进行软件开发的方法,在开发人员完成软件代码编写后,需要通过手动操作的方式对所编写的软件代码进行编译,手动编译软件代码需要耗费较长时间,导致软件开发的效率较低。
发明内容
本发明实施例提供了一种软件发布方法及装置,能够有效提高软件开发的效率。
第一方面,本发明实施例提供了一种软件发布方法,将待发布软件的至少一个功能代码文件存储到预设的SVN(Subversion,版本控制系统)资源库中,还包括:
从所述SVN资源库中提取所述至少一个功能代码文件;
根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;
判断所述至少一个功能代码文件是否均构建编译成功;
如果是,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;
对所述产品包进行发布。
优选地,
在所述对所述产品包进行发布之后,进一步包括:
判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;
如果是,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;
当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;
对所述增量包进行发布。
优选地,
所述从所述SVN资源库中提取所述至少一个更新功能代码文件,包括:
确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;
判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;
如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
优选地,
进一步包括:
从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;
对所述属性信息进行发布。
优选地,
在所述对所述至少一个更新功能代码文件进行构建编译之后,进一步包括:
当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
第二方面,本发明实施例提供了一种软件开发装置,包括:
存储模块,用于将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中;
提取模块,用于从所述SVN资源库中提取所述至少一个功能代码文件;
第一构建编译模块,用于根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;
第一判断模块,用于判断所述至少一个功能代码文件是否均构建编译成功;
产品包形成模块,用于当所述第一判断模块判断出所述至少一个功能代码文件均构建编译成功时,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;
产品包发布模块,用于对所述产品包进行发布。
优选地,
进一步包括:
第二判断模块,用于判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;
第二构建编译模块,用于当所述第二判断模块判断出所述SVN资源库中存在针对所述待发布软件的至少一个更新功能代码文件时,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;
增量包形成模块,用于当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;
增量包发布模块,用于对所述增量包进行发布。
优选地,
所述第二构建编译模块,具体用于确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
优选地,
进一步包括:
属性信息提取模块,用于从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;
属性信息发布模块,用于对所述属性信息进行发布。
优选地,
进一步包括:
反馈模块,用于当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
本发明实施例提供了一种软件发布方法及装置,通过预先将待发布产品对应的至少一个功能代码文件交由SVN资源库管理,那么之后在需要对待发布产品构建编译时,可自动获取SVN资源库中存储的待发布产品的各个功能代码文件,并自动完成对这些功能代码文件的构建编译,而无需再由用户对这些功能代码文件进行手动的构建编译,避免需要消耗较长的时间,那么在自动构建编译成功之后,就可形成相应的产品包并进行发布,因此,提高了软件发布的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种软件发布方法的流程图;
图2是本发明另一个实施例提供的一种软件发布方法的流程图;
图3是本发明实施例提供的软件发布装置所在设备的硬件架构图;
图4是本发明一个实施例提供的一种软件发布装置的结构示意图;
图5是本发明另一个实施例提供的一种软件发布装置的结构示意图;
图6是本发明又一个实施例提供的一种软件发布装置的结构示意图;
图7是本发明再一个实施例提供的一种软件发布装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种软件发布方法,该方法可以包括以下步骤:
步骤101:将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中。
步骤102:从所述SVN资源库中提取所述至少一个功能代码文件。
步骤103:根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译。
步骤104:判断所述至少一个功能代码文件是否均构建编译成功,如果是,则执行步骤105,否则,结束当前进程。
步骤105:对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包。
步骤106:对所述产品包进行发布。
在本发明实施例中,通过预先将待发布产品对应的至少一个功能代码文件交由SVN资源库管理,那么之后在需要对待发布产品构建编译时,可自动获取SVN资源库中的存储的待发布产品的各个功能代码文件,并自动完成对这些功能代码文件的构建编译,而无需再由用户对这些功能代码文件进行手动的构建编译,这样,在自动构建编译成功之后,就可形成相应的产品包并进行发布,因此,提高了软件发布的效率。
在本发明一个实施例中,为了实现对待发布软件的增量包的发布,在所述步骤106之后,进一步包括:判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;如果是,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;对所述增量包进行发布。
其中,更新功能代码文件可以指在之前发布基础上新增加的,例如,已经发布了包括有删除功能、添加功能的待发布软件M,现在SVN资源库中又增加了针对待发布软件M的一个新的重命名功能代码文件;或者是指对之前发布的某个功能代码文件的更改,例如,已经发布了包括有登入功能、退出功能的待发布软件N,而之后退出功能出现了漏洞Bug,那么此时的更新功能代码文件即为新的退出功能代码文件。
以上述第1个例子为例,从SVN资源库中提取出待发布软件M对应的新增加的重命名功能代码文件之后,按照预先的构建编译规则,完成该代码文件的构建编译,并且当构建编译成功之后,就可将其打包为增量包进行发布。
在本发明一个实施例中,为了能够准确提取出待发布软件对应的更新功能代码文件,所述从所述SVN资源库中提取所述至少一个更新功能代码文件,包括:确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
举例来说,上述实施例中的待发布软件N的打包时间为2017/1/1/08:00,而SVN资源库中新增加的退出功能代码文件的存入时间为2017/1/3/08:00,因此,在提取待发布软件N的更新功能代码文件时,即可提取出存入时间2017/1/3/08:00晚于打包时间2017/1/1/08:00的退出功能代码文件。进而为之后发布待发布软件N的增量包奠定基础。
在本发明一个实施例中,进一步包括:从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;对所述属性信息进行发布。
在本发明实施例中,在发布增量包的同时,还需将增量包对应的更新功能代码文件的属性信息一同发布。举例来说,更新功能代码文件为重命名功能代码文件,那对应的属性信息则为:新增加了重命名功能(还可包括其它一些信息)。其中,为进一步提高软件发布的效率,系统管理员可预先将该属性信息添加到预设变更库中,那么之后在完成对重命名功能代码文件的打包后,如,形成增量包m,就可以自动获取该预设变更库中存储的新增加了重命名功能的信息,并将增量包m以及新增加了重命名功能的信息一同发布。
在本发明一个实施例中,为了缩短软件发布的周期,进一步提高软件发布的效率,在所述对所述至少一个更新功能代码文件进行构建编译之后,进一步包括:当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
其中,反馈地址可包括多种形式,例如,邮件、短信等等。以邮件为例,假设某更新功能代码文件是由两个开发人员(如,x和y)共同开发的,那么预先就可以将开发人员x的邮箱地址132***351*@163.com,及开发人员y的邮箱地址137***318*@163.com进行存储,一旦在对该更新功能代码文件构建编译失败后,就可将构建编译失败形成的错误信息自动发送到这两个邮箱地址上,以使开发人员修改更新功能代码文件中的代码漏洞,直至代码能够构建编译成功。这样,能够保证及时发现新提交的更新功能代码文件中的错误,提高全量静态代码测试的成功率,从而能够缩短软件发布的周期。
下面将以待发布软件A包括两个功能(登入和退出)代码文件为例,详细说明本发明实施例提供的一种软件发布方法,如图2所示,该方法可以包括如下步骤:
步骤201:将待发布软件A对应的登入功能代码文件以及退出功能代码文件分别存储到SVN资源库。
在本发明实施例中,开发人员在开发登入功能代码文件以及退出功能代码时,可分别根据实际需求,在Nexus私有服务器中获取Jar包(Java ARchive,Java归档)。而且,待发布软件A对应的登入功能代码文件以及退出功能代码文件可存储在SVN资源库的同一URL地址(Uniform Resoure Locator,统一资源定位符)中。那么,之后在需要对待发布产品A进行发布时,可直接在该SVN资源库中提取出相应的功能代码文件即可。
步骤202:从SVN资源库中提取待发布软件A对应的登入功能代码文件以及退出功能代码文件。
在本发明实施例中,例如,预先保存步骤201中的URL地址,那么之后可通过访问该地址实现对待发布产品A中的登入功能代码文件以及退出功能代码文件的提取。
步骤203:对登入功能代码文件及退出功能代码文件进行构建编译。
在对待发布产品A打包之前,需要对包括的这两个功能代码文件进行构建编译,以确定该产品能否正常实现登入功能以及退出功能。
步骤204:判断对登入功能代码文件及退出功能代码文件是否构建编译成功,如果是,则执行步骤205,否则,执行步骤214。
例如,针对登入功能代码文件以及退出功能代码文件均构建编译成功,说明待发布产品A能够正常实现登入和退出,因此,满足发布条件,可执行步骤205;又如,在构建编译的过程中,登入功能代码文件中的应用程序运行成功,而退出功能代码文件中的应用程序运行报错,这说明待发布产品A只能够实现正常的登入功能,而无法实现正常的退出功能,因此还需相应的开发人员对退出功能代码文件中的应用程序进行修改,直至针对退出功能代码文件能够构建编译成功。
步骤205:对登入功能代码文件及退出功能代码文件进行打包,形成待发布软件A对应的产品包a。
在本发明实施例中,是第一次对待发布产品A进行发布,那么,产品包a也可称为待发布产品A对应的全量包。
步骤206:对产品包a进行发布。
步骤207:判断出SVN资源库中存在待发布软件A对应的查询功能代码文件。
在产品包a发布之后,SVN资源库中增加的更新功能代码文件并不局限于本发明实施例中的查询功能代码文件,还可包括其他多种,而且,增加的更新功能代码文件的数量可能也不只一个,另外,如果产品包a在发布之后,退出功能出现了漏洞Bug,那么增加的更新功能代码文件还可能是开发人员修改之后的退出功能代码文件。
步骤208:从SVN资源库中提取待发布软件A的查询功能代码文件。
在本发明实施例中,SVN资源库中会记录产品包a对应的打包时间,例如,为2017/3/1/00:00,而SVN资源库中记录的查询功能代码文件的存入时间是2017/3/2/08:00,那么在提取该文件时,首先可以是根据步骤202中保存的URL地址访问SVN资源库中的待发布产品A对应的各个功能代码文件,然后根据记录的打包时间及存入时间,提取出打包时间2017/3/1/00:00之后的存入时间2017/3/2/08:00对应的查询功能代码文件。
步骤209:对查询功能代码文件进行构建编译。
与上述步骤203的原理相同。
步骤210:判断对查询功能代码文件是否构建编译成功,如果是,则执行步骤211,否则,执行步骤214。
针对增加的更新功能代码文件,可能需要进行多次的构建编译,直至最终开发人员开发出的更新代码文件能够构建编译成功。
步骤211:对查询功能代码文件进行打包,形成待发布软件A对应的增量包b。
针对已经发布的产品包a之后,只需在对新增加的更新功能代码文件打包为增量包即可。
步骤212:从预设变更库中提取查询功能代码文件对应的增加查询功能的属性信息。
在本发明实施例中,该预设变更库可以是Jria变更库,当SVN资源库中存储查询功能代码文件之后,可由系统管理人员将查询功能对应的属性信息,也即:增加了查询功能。这样,在完成增量包b的打包之后,可在该Jria变更库中自动查找出该条属性信息。
步骤213:对增量包a及增加查询功能的属性信息进行发布。
步骤214:将构建编译失败形成的错误信息以邮件形式发送给相应的开发人员。
在本发明实施例中,通常,不同的功能代码文件均是由不同的开发人员进行开发的,因此,可预先保存登入功能代码文件对应的开发人员(如果是多个开发人员同时开发一个功能代码文件,那么就需要保存相应的多个开发人员的邮件地址)的邮件地址为189***301*@163.com,退出功能代码文件对应的开发人员的邮件地址为183***230*@163.com,查询功能代码文件对应的开发人员的邮件地址为152***130*@163.com,一旦有哪个功能代码文件没有构建编译成功,则就可以将相应功能代码文件中应用程序的运行出的错误结果发送到对应的邮件地址中,以使开发人员能够根据错误结果进行代码修改,直至最终更改后的功能代码文件能够构建编译成功。
如图3、图4所示,本发明实施例提供了一种软件发布装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的软件发布装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种软件发布装置,包括:
存储模块401,用于将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中;
提取模块402,用于从所述SVN资源库中提取所述至少一个功能代码文件;
第一构建编译模块403,用于根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;
第一判断模块404,用于判断所述至少一个功能代码文件是否均构建编译成功;
产品包形成模块405,用于当所述第一判断模块判断出所述至少一个功能代码文件均构建编译成功时,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;
产品包发布模块406,用于对所述产品包进行发布。
在本发明一个实施例中,如图5所示,进一步包括:
第二判断模块501,用于判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;
第二构建编译模块502,用于当所述第二判断模块判断出所述SVN资源库中存在针对所述待发布软件的至少一个更新功能代码文件时,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;
增量包形成模块503,用于当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;
增量包发布模块504,用于对所述增量包进行发布。
在本发明一个实施例中,所述第二构建编译模块502,具体用于确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
在本发明一个实施例中,如图6所示,进一步包括:
属性信息提取模块601,用于从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;
属性信息发布模块602,用于对所述属性信息进行发布。
在本发明一个实施例中,如图7所示,进一步包括:
反馈模块701,用于当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例中的任意一个方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例中的任意一个方法。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,通过预先将待发布产品对应的至少一个功能代码文件交由SVN资源库管理,那么之后在需要对待发布产品构建编译时,可自动获取SVN资源库中存储的待发布产品的各个功能代码文件,并自动完成对这些功能代码文件的构建编译,而无需再由用户对这些功能代码文件进行手动的构建编译,避免需要消耗较长的时间,那么在自动构建编译成功之后,就可形成相应的产品包并进行发布,因此,提高了软件发布的效率。
2、在本发明实施例中,通过SVN资源库管理产品代码,可有效解决软件配置管理过程的复杂性,提高软件发布的效率。
3、在本发明实施例中,在自动构建编译失败时,通过将构建编译失败形成的错误信息及时的反馈给开发人员,以使开发人员及时修改,保证了及时发现新提交的更新功能代码文件中的错误,提高静态代码测试的成功率,从而进一步提高了软件发布的效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种软件发布方法,其特征在于,将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中,还包括:
从所述SVN资源库中提取所述至少一个功能代码文件;
根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;
判断所述至少一个功能代码文件是否均构建编译成功;
如果是,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;
对所述产品包进行发布。
2.根据权利要求1所述的方法,其特征在于,
在所述对所述产品包进行发布之后,进一步包括:
判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;
如果是,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;
当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;
对所述增量包进行发布。
3.根据权利要求2所述的方法,其特征在于,
所述从所述SVN资源库中提取所述至少一个更新功能代码文件,包括:
确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;
判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;
如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
4.根据权利要求2所述的系统方法,其特征在于,
进一步包括:
从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;
对所述属性信息进行发布。
5.根据权利要求2所述的方法,其特征在于,
在所述对所述至少一个更新功能代码文件进行构建编译之后,进一步包括:
当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
6.一种软件发布装置,其特征在于,包括:
存储模块,用于将待发布软件的至少一个功能代码文件存储到预设的版本控制系统SVN资源库中;
提取模块,用于从所述SVN资源库中提取所述至少一个功能代码文件;
第一构建编译模块,用于根据预设的第一构建编译规则,对所述至少一个功能代码文件进行构建编译;
第一判断模块,用于判断所述至少一个功能代码文件是否均构建编译成功;
产品包形成模块,用于当所述第一判断模块判断出所述至少一个功能代码文件均构建编译成功时,对所述至少一个功能代码文件进行打包,形成所述待发布软件对应的产品包;
产品包发布模块,用于对所述产品包进行发布。
7.根据权利要求6所述的装置,其特征在于,
进一步包括:
第二判断模块,用于判断所述SVN资源库中是否存在针对所述待发布软件的至少一个更新功能代码文件;
第二构建编译模块,用于当所述第二判断模块判断出所述SVN资源库中存在针对所述待发布软件的至少一个更新功能代码文件时,从所述SVN资源库中提取所述至少一个更新功能代码文件,并根据预设的第二构建编译规则,对所述至少一个更新功能代码文件进行构建编译;
增量包形成模块,用于当对所述至少一个更新功能代码文件进行构建编译成功后,对所述至少一个更新功能代码文件进行打包,形成所述待发布软件对应的增量包;
增量包发布模块,用于对所述增量包进行发布。
8.根据权利要求7所述的装置,其特征在于,
所述第二构建编译模块,具体用于确定由所述SVN资源库记录的所述对所述至少一个功能代码文件进行打包的打包时间;判断所述SVN资源库中是否存在存入时间在所述打包时间之后,且对应于所述待发布软件的至少一个新的功能代码文件;如果是,从所述SVN资源库中提取所述至少一个新的功能代码文件作为所述更新功能代码文件。
9.根据权利要求7所述的装置,其特征在于,
进一步包括:
属性信息提取模块,用于从预设变更库中提取所述至少一个更新功能代码文件的属性信息,其中,所述属性信息由外部存储到所述预设变更库中;
属性信息发布模块,用于对所述属性信息进行发布。
10.根据权利要求7所述的装置,其特征在于,
进一步包括:
反馈模块,用于当对所述至少一个更新功能代码文件进行构建编译失败后,将构建编译失败所形成的错误信息发送给预设的至少一个反馈地址。
CN201710128372.6A 2017-03-06 2017-03-06 一种软件发布方法及装置 Pending CN106919398A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710128372.6A CN106919398A (zh) 2017-03-06 2017-03-06 一种软件发布方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710128372.6A CN106919398A (zh) 2017-03-06 2017-03-06 一种软件发布方法及装置

Publications (1)

Publication Number Publication Date
CN106919398A true CN106919398A (zh) 2017-07-04

Family

ID=59460942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710128372.6A Pending CN106919398A (zh) 2017-03-06 2017-03-06 一种软件发布方法及装置

Country Status (1)

Country Link
CN (1) CN106919398A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315596A (zh) * 2017-07-26 2017-11-03 郑州云海信息技术有限公司 一种代码自动打包部署方法和装置
CN107357583A (zh) * 2017-07-13 2017-11-17 上海市共进通信技术有限公司 基于软件代码进行模块自动构建的系统及方法
CN108287720A (zh) * 2018-02-08 2018-07-17 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN109542446A (zh) * 2017-08-14 2019-03-29 中兴通讯股份有限公司 一种编译系统、方法及编译器
CN110413314A (zh) * 2019-07-24 2019-11-05 深圳市盟天科技有限公司 一种文件发布方法、装置、设备及存储介质
CN111158696A (zh) * 2019-12-20 2020-05-15 中国建设银行股份有限公司 版本部署方法及装置
CN111338632A (zh) * 2018-12-19 2020-06-26 中国移动通信集团湖南有限公司 一种云平台镜像构建方法和装置
CN111373369A (zh) * 2017-11-16 2020-07-03 惠普发展公司,有限责任合伙企业 使用云系统的软件构建
CN111610982A (zh) * 2019-02-26 2020-09-01 阿里巴巴集团控股有限公司 一种应用程序开发的方法、装置和相关系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN103530137A (zh) * 2013-11-05 2014-01-22 中国联合网络通信集团有限公司 一种Java web应用部署方法及装置
CN106294171A (zh) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 产品自动部署的测试系统、方法和装置
CN106325881A (zh) * 2016-08-30 2017-01-11 泰康保险集团股份有限公司 发布包自动生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035892A (zh) * 2010-12-23 2011-04-27 中科方德软件有限公司 操作系统版本自动发布和软件包自动更新的系统及方法
CN103530137A (zh) * 2013-11-05 2014-01-22 中国联合网络通信集团有限公司 一种Java web应用部署方法及装置
CN106294171A (zh) * 2016-08-17 2017-01-04 北京奇虎科技有限公司 产品自动部署的测试系统、方法和装置
CN106325881A (zh) * 2016-08-30 2017-01-11 泰康保险集团股份有限公司 发布包自动生成方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107357583A (zh) * 2017-07-13 2017-11-17 上海市共进通信技术有限公司 基于软件代码进行模块自动构建的系统及方法
CN107315596A (zh) * 2017-07-26 2017-11-03 郑州云海信息技术有限公司 一种代码自动打包部署方法和装置
CN109542446A (zh) * 2017-08-14 2019-03-29 中兴通讯股份有限公司 一种编译系统、方法及编译器
CN111373369A (zh) * 2017-11-16 2020-07-03 惠普发展公司,有限责任合伙企业 使用云系统的软件构建
CN108287720A (zh) * 2018-02-08 2018-07-17 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN108287720B (zh) * 2018-02-08 2021-06-11 深圳创维-Rgb电子有限公司 软件编译方法、装置、设备及存储介质
CN111338632A (zh) * 2018-12-19 2020-06-26 中国移动通信集团湖南有限公司 一种云平台镜像构建方法和装置
CN111610982A (zh) * 2019-02-26 2020-09-01 阿里巴巴集团控股有限公司 一种应用程序开发的方法、装置和相关系统
CN111610982B (zh) * 2019-02-26 2023-05-16 阿里巴巴集团控股有限公司 一种应用程序开发的方法、装置和相关系统
CN110413314A (zh) * 2019-07-24 2019-11-05 深圳市盟天科技有限公司 一种文件发布方法、装置、设备及存储介质
CN111158696A (zh) * 2019-12-20 2020-05-15 中国建设银行股份有限公司 版本部署方法及装置

Similar Documents

Publication Publication Date Title
CN106919398A (zh) 一种软件发布方法及装置
Dmitriev Towards flexible and safe technology for runtime evolution of java language applications
US9459849B2 (en) Adaptive cloud aware just-in-time (JIT) compilation
Wang et al. Formal specification and verification of smart contracts for azure blockchain
CN103336705B (zh) 脚本处理和工作流系统间的自动转码和语义自适应
CN100489778C (zh) Java程序可动态更新化实现方法
CN109491695A (zh) 一种集成安卓应用的增量更新方法
US8261248B2 (en) System and method of executing a dynamic program in a structured environment
US20100293538A1 (en) Dynamic program updating in a continuation based runtime
CN107908402A (zh) Java服务端热修复方法和系统
US20130139134A1 (en) Serialization of pre-initialized objects
JP2009532754A (ja) 継続ベースのメタランタイムのための抽象実行モデル
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
CN109032631A (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN106371847A (zh) Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN107085605A (zh) 用于数据打包的方法、装置及电子设备
CN103645888B (zh) 一种自动构建操作系统的系统及方法
US8661305B2 (en) Method and system for test vector generation
US8935657B2 (en) Model-to-model transformation by kind
CN110162299A (zh) web程序及其快速开发框架、开发方法与相关设备
CN106445818A (zh) 一种基于模型驱动的自动化脚本调试方法和装置
CN109933325A (zh) 一种dex文件构建方法、装置及系统
Kim Design pattern based model transformation with tool support
CN106201542B (zh) 一种wof快速开发平台
CN107621945A (zh) 一种确定ios设备的标识的方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170704

RJ01 Rejection of invention patent application after publication