CN106775912A - 软件发布方法及系统 - Google Patents

软件发布方法及系统 Download PDF

Info

Publication number
CN106775912A
CN106775912A CN201611162051.XA CN201611162051A CN106775912A CN 106775912 A CN106775912 A CN 106775912A CN 201611162051 A CN201611162051 A CN 201611162051A CN 106775912 A CN106775912 A CN 106775912A
Authority
CN
China
Prior art keywords
channel
software
compilation
continuous integrating
script
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
CN201611162051.XA
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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201611162051.XA priority Critical patent/CN106775912A/zh
Publication of CN106775912A publication Critical patent/CN106775912A/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/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

本发明公开了一种软件发布方法及系统,所述方法包括:根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。本发明自动化程度更高,提升了软件发布效率。

Description

软件发布方法及系统
技术领域
本发明涉及软件发布技术领域,特别是涉及一种软件发布方法及系统。
背景技术
自从Android开放源代码开始,深受大量的品牌和用户所追捧,基于Android开发的应用也占具了智能应用的半壁江山,如:智能手机、智能电视、智能穿戴、平板电脑、车载系统、智能电器、智能会议系统等众多智能设备都在开发Android应用。目前互联网上有成千上百个应用市场渠道,面临如此巨大的数量的发布渠道,如何快速高效的编译安装包并自动化发布,是应用发布快速抢占市场的一个重要因素。
应用通过渠道名(app_channel)来区分不同的渠道。发布到各个渠道的安装包中,包含一个app_channel信息记录该渠道名,比如,某一应用在应用宝市场中应用的渠道名是yingyongbao,在MIUI应用商店渠道名为miui_store。应用端访问服务时会在请求参数中带上渠道名,以便计算不同渠道的效果,例如统计哪些渠道带来的用户量比较大。
现在流行采用的打包方案,主要是在AndroidManifest.xml文件中,添加渠道名信息,每个渠道的安装包中的主要区别这个信息。在每个安装包的编译阶段针对这个信息进行修改赋值,再生成不同渠道的安装包。但这种方式需要大量人工操作,每个渠道名的修改以及打包和发布都需要10~20分钟,发布以后还要通知相关运维人员,这就导致了巨大的人力和时间成本的投入。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种效率更高的软件发布方法。
根据本发明实施例的软件发布方法,包括:
根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
根据本发明实施例的软件发布方法,通过对软件的编译脚本进行渠道编译配置,不同的渠道具有不同的渠道编译配置,然后将所述代码仓库与持续集成服务关联,在持续集成服务监听到源代码有更新时,根据多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将该多个安装包发布到相应的渠道中,整个过程无需过多的人为参与,自动化程度更高,提升了软件发布效率,也降低了人力及维护成本。
另外,根据本发明上述实施例的软件发布方法,还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述将所述代码仓库与持续集成服务关联的步骤之前,所述方法还包括:
将所述软件的源代码提交到所述代码仓库中所述软件的发布分支;
所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述发布分支进行监听。
进一步地,在本发明的一个实施例中,所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤还包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述多个渠道编译脚本进行监听;
所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤之后,所述方法还包括:
当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
进一步地,在本发明的一个实施例中,所述根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本的步骤之后,所述方法还包括:
将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
进一步地,在本发明的一个实施例中,所述渠道配置信息包括渠道编号和渠道名称,所述多个渠道中每个所述渠道的渠道编号和渠道名称一一对应。
本发明的另一个目的在于提出一种效率更高的软件发布系统。
根据本发明实施例的软件发布系统,包括:
渠道编译配置模块,用于根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
关联模块,用于将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
生成发布模块,用于当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
另外,根据本发明上述实施例的软件发布系统,还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述系统还包括:
提交模块,用于将所述软件的源代码提交到所述代码仓库中所述软件的发布分支,所述持续集成服务在预设的时间段对所述代码仓库中所述发布分支进行监听。
进一步地,在本发明的一个实施例中,所述生成发布模块还用于当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
进一步地,在本发明的一个实施例中,所述系统还包括:
源代码编译模块,用于将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
本地安装包生成模块,用于根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
进一步地,在本发明的一个实施例中,所述渠道配置信息包括渠道编号和渠道名称,所述多个渠道中每个所述渠道的渠道编号和渠道名称一一对应。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一实施例的软件发布方法的流程图;
图2是根据本发明一实施例的软件发布方法中生成渠道编译脚本的流程图;
图3是根据本发明另一实施例的软件发布系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明以Android软件(主要是APK格式的文件,是一个压缩包)作为实施例的环境对本发明进行详细描述,但本发明的实施不局限于Android软件,本领域的技术人员可以合理地预见,诸如Linux、Windows等操作系统的软件,只要其安装的应用程序包为压缩包类型的文件结构,就可以适用于本发明所构思的所有方案,因此,本领域技术人员应知晓该应用上的变通。
请参阅图1,本发明一实施例提出的软件发布方法,至少包括以下步骤:
S101,根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
其中,渠道是指能够为公众提供软件下载服务的网络平台,例如应用宝市场渠道、MIUI应用商店渠道等,所述软件的软件代码包括源代码和编译脚本(例如,gradle编译脚本或Ant编译脚本),根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,例如,根据应用宝市场渠道或MIUI应用商店渠道的渠道配置信息对软件的build.gradle编译脚本进行渠道编译配置,渠道配置信息主要包括渠道编号和渠道名称,且每个渠道的渠道编号和渠道名称一一对应,例如,请参阅图2,应用宝市场渠道的渠道编号为001,渠道名称为yingyongbao,MIUI应用商店渠道的渠道编号为002,渠道名称为miui_store,则将会根据001和yingyongbao、002和miui_store对软件的build.gradle编译脚本进行渠道编译配置,以获得分别与应用宝市场渠道对应的渠道编译脚本A和与MIUI应用商店渠道对应的渠道编译脚本B。此外,软件的编译脚本、进行渠道编译配置后生成的多个渠道编译脚本A和B、及所述软件的源代码均由代码仓库管理,所述代码仓库可以是git仓库或subversion仓库。
S102,将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
其中,持续集成(Continuous integration,CI)服务可以首先与多个渠道对接,例如,所述持续集成与应用宝市场渠道和MIUI应用商店渠道建立了对接,以方便后续软件在相应的渠道进行发布,将所述代码仓库与持续集成服务关联即指将所述代码仓库与持续集成服务的相关接口进行对接,实现两者之间的数据传输,所述代码仓库与持续集成服务关联后,所述持续集成服务在预设的时间段对所述代码仓库进行监听,例如,每间隔5分钟,持续集成服务会监听一次代码仓库。
S103,当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
其中,若所述持续集成服务未监听到所述源代码有更新,表明此时不需要对软件进行发布,因此不会再继续后面的步骤。若所述持续集成服务监听到所述源代码有更新,则表明此时该软件有新版本需要发布,则所述持续集成服务会根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,例如,根据与应用宝市场渠道对应的渠道编译脚本A和与MIUI应用商店渠道对应的渠道编译脚本B的指导,分别对更新后的所述源代码执行编译过程,以生成与应用宝市场渠道对应的安装包和与MIUI应用商店渠道对应安装包,之后,所述持续集成服务会自动根据服务器的发布规则将上述两个安装包分别分布到应用宝市场渠道和MIUI应用商店渠道。最后用户可以通过应用宝市场和MIUI应用商店下载到该软件进行使用,且可以统计到不同渠道下的用户下载量数据。
根据本发明实施例的软件发布方法,通过对软件的编译脚本进行渠道编译配置,不同的渠道具有不同的渠道编译配置,然后将所述代码仓库与持续集成服务关联,在持续集成服务监听到源代码有更新时,根据多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将该多个安装包发布到相应的渠道中,整个过程无需过多的人为参与,自动化程度更高,提升了软件发布效率,也降低了人力及维护成本。
进一步地,根据本发明的一个示例,步骤S102之前,所述方法还包括:
将所述软件的源代码提交到所述代码仓库中所述软件的发布分支;
步骤S102中,所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述软件的发布分支进行监听。
其中,所述软件在代码仓库中有一个发布分支(master分支)和一个开发测试分支(develop分支),在存在多个软件时,每个软件在代码仓库中都有一个与自身对应的发布分支和开发测试分支。将软件的源代码提交到代码仓库中的相应分支上,通过约定开发测试分支、发布分支多分支来管理开发,其中开发、测试版本在开发测试分支进行,不作为软件发布的过程,正式版本会在发布分支与开发测试分支合并后发布。所述持续集成服务在预设的时间段对所述代码仓库中所述软件的发布分支进行监听,例如,每间隔5分钟,持续集成服务会监听一次代码仓库中所述软件的发布分支。此外,可以理解的,实际实施时,当所述发布分支有代码更新时,所述发布分支还可以主动向所述持续集成服务反馈,以触发自动发布,且由发布分支主动反馈给持续集成服务的方式效率更高,更及时。
进一步地,根据本发明的一个示例,步骤S102中,所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤还包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述多个渠道编译脚本进行监听;
步骤S102中,所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤之后,所述方法还包括:
当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
其中,所述持续集成服务还会在预设的时间段对所述代码仓库中所述多个渠道编译脚本进行监听,即在软件仓库中,该软件的源代码或多个渠道编译脚本任意一项有更新时,都会触发生成安装包并进行发布的过程。例如,应用宝市场渠道的渠道名发生了变化,导致该渠道对应的渠道编译脚本有更新,此时,所述持续集成服务会根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
进一步地,根据本发明的一个示例,步骤S101中,所述根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本的步骤之后,所述方法还包括:
将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
其中,通过上述步骤,可以在代码仓库与持续集成服务关联之前,对每个渠道对应的安装包进行预先调试,在出现问题时,及时修正,以避免后续软件发布过程中出现错误。此外,在此期间,还可以修改资源文件和依赖库文件,实现例如定制化的界面UI的效果。
请参阅图3,基于同一发明构思,本发明另一实施例提出的软件发布系统,包括:
渠道编译配置模块10,用于根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
关联模块20,用于将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
生成发布模块30,用于当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
本实施例中,所述系统还包括:
提交模块,用于将所述软件的源代码提交到所述代码仓库中所述软件的发布分支,所述持续集成服务在预设的时间段对所述代码仓库中所述发布分支进行监听。
本实施例中,述生成发布模块还用于当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
本实施例中,所述系统还包括:
源代码编译模块,用于将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
本地安装包生成模块,用于根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
本实施例中,所述渠道配置信息包括渠道编号和渠道名称,所述多个渠道中每个所述渠道的渠道编号和渠道名称一一对应。
本实施例提出的软件发布系统的实现原理和技术效果与本发明实施例中提出的方法相同,在此不予赘述。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (10)

1.一种软件发布方法,其特征在于,包括:
根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
2.根据权利要求1所述的软件发布方法,其特征在于,所述将所述代码仓库与持续集成服务关联的步骤之前,所述方法还包括:
将所述软件的源代码提交到所述代码仓库中所述软件的发布分支;
所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述发布分支进行监听。
3.根据权利要求2所述的软件发布方法,其特征在于,所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤还包括:
所述持续集成服务在预设的时间段对所述代码仓库中所述多个渠道编译脚本进行监听;
所述持续集成服务在预设的时间段对所述代码仓库进行监听的步骤之后,所述方法还包括:
当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
4.根据权利要求1所述的软件发布方法,其特征在于,所述根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本的步骤之后,所述方法还包括:
将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
5.根据权利要求1至4任意一项所述的软件发布方法,其特征在于,所述渠道配置信息包括渠道编号和渠道名称,所述多个渠道中每个所述渠道的渠道编号和渠道名称一一对应。
6.一种软件发布系统,其特征在于,包括:
渠道编译配置模块,用于根据多个渠道的渠道配置信息对软件的编译脚本进行渠道编译配置,以获得分别与每个所述渠道对应的多个渠道编译脚本,所述编译脚本、所述多个渠道编译脚本及所述软件的源代码均由代码仓库管理;
关联模块,用于将所述代码仓库与持续集成服务关联,所述持续集成服务在预设的时间段对所述代码仓库进行监听,所述持续集成服务与所述多个渠道对接;
生成发布模块,用于当所述持续集成服务监听到所述源代码有更新时,根据所述多个渠道包编译脚本的指导,对更新后的所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
7.根据权利要求6所述的软件发布系统,其特征在于,所述系统还包括:
提交模块,用于将所述软件的源代码提交到所述代码仓库中所述软件的发布分支,所述持续集成服务在预设的时间段对所述代码仓库中所述发布分支进行监听。
8.根据权利要求7所述的软件发布系统,其特征在于,所述生成发布模块还用于当所述持续集成服务监听到所述多个渠道编译脚本中任一所述渠道编译脚本有更新时,根据更新后的所述多个渠道包编译脚本的指导,对所述源代码执行编译过程,以生成与每个所述渠道对应的多个安装包,并将所述多个安装包发布到相应的所述渠道中。
9.根据权利要求6所述的软件发布系统,其特征在于,所述系统还包括:
源代码编译模块,用于将所述软件的源代码编译成可执行文件、资源文件和依赖库文件;
本地安装包生成模块,用于根据所述多个渠道编译脚本的指导,对所述可执行文件、资源文件和依赖库文件执行编译过程,以生成与每个所述渠道对应的多个本地安装包,并对所述多个本地安装包分别进行调试。
10.根据权利要求6至9任意一项所述的软件发布系统,其特征在于,所述渠道配置信息包括渠道编号和渠道名称,所述多个渠道中每个所述渠道的渠道编号和渠道名称一一对应。
CN201611162051.XA 2016-12-15 2016-12-15 软件发布方法及系统 Pending CN106775912A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611162051.XA CN106775912A (zh) 2016-12-15 2016-12-15 软件发布方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611162051.XA CN106775912A (zh) 2016-12-15 2016-12-15 软件发布方法及系统

Publications (1)

Publication Number Publication Date
CN106775912A true CN106775912A (zh) 2017-05-31

Family

ID=58892559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611162051.XA Pending CN106775912A (zh) 2016-12-15 2016-12-15 软件发布方法及系统

Country Status (1)

Country Link
CN (1) CN106775912A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450941A (zh) * 2017-06-26 2017-12-08 深圳市小牛在线互联网信息咨询有限公司 自动打包方法、装置、存储介质和计算机设备
CN107844518A (zh) * 2017-09-30 2018-03-27 链家网(北京)科技有限公司 评估指定app下载量的方法、数据服务器、打包平台及系统
CN107870772A (zh) * 2017-10-09 2018-04-03 深圳前海微众银行股份有限公司 跨环境的应用部署方法、平台、系统及可读存储介质
CN108021792A (zh) * 2017-12-04 2018-05-11 北京元心科技有限公司 镜像软件的生成方法、装置及相应终端
CN108037949A (zh) * 2017-12-26 2018-05-15 深圳乐信软件技术有限公司 安装包多渠道打包方法、装置、计算机设备及存储介质
CN108196876A (zh) * 2017-11-29 2018-06-22 链家网(北京)科技有限公司 基于文件的php业务配置方法及中心服务器
CN108228185A (zh) * 2017-12-29 2018-06-29 北京经纬恒润科技有限公司 一种嵌入式软件模块化生成方法和装置
CN109766101A (zh) * 2018-12-12 2019-05-17 武汉掌游科技有限公司 一种Android自动打包方法及系统
CN110427192A (zh) * 2019-08-01 2019-11-08 上海麦克风文化传媒有限公司 一种it系统持续集成和持续发布方法
CN110457045A (zh) * 2019-08-16 2019-11-15 百度在线网络技术(北京)有限公司 组件化合并编译方法、装置、设备和存储介质
CN110780914A (zh) * 2018-07-31 2020-02-11 中国移动通信集团浙江有限公司 服务发布方法及装置
CN111124478A (zh) * 2019-12-19 2020-05-08 杭州迪普科技股份有限公司 版本管理方法及装置
CN111857801A (zh) * 2020-07-08 2020-10-30 广州云徙科技有限公司 一种移动应用的构建方法
CN113296828A (zh) * 2021-05-26 2021-08-24 北京京东振世信息技术有限公司 一种发布应用的方法、服务器和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1881447A1 (en) * 2006-07-21 2008-01-23 Microsoft Corporation Software release management
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和系统
CN103064666A (zh) * 2012-11-30 2013-04-24 北京奇虎科技有限公司 一种多渠道软件发布方法和系统
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理系统和管理方法
CN105955749A (zh) * 2016-05-10 2016-09-21 北京启明星辰信息安全技术有限公司 软件项目的持续集成方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1881447A1 (en) * 2006-07-21 2008-01-23 Microsoft Corporation Software release management
CN103019708A (zh) * 2012-11-30 2013-04-03 北京奇虎科技有限公司 用于发布软件的方法和系统
CN103064666A (zh) * 2012-11-30 2013-04-24 北京奇虎科技有限公司 一种多渠道软件发布方法和系统
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理系统和管理方法
CN105955749A (zh) * 2016-05-10 2016-09-21 北京启明星辰信息安全技术有限公司 软件项目的持续集成方法和装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450941A (zh) * 2017-06-26 2017-12-08 深圳市小牛在线互联网信息咨询有限公司 自动打包方法、装置、存储介质和计算机设备
CN107844518B (zh) * 2017-09-30 2021-05-07 北京房江湖科技有限公司 评估指定app下载量的方法、数据服务器、打包平台及系统
CN107844518A (zh) * 2017-09-30 2018-03-27 链家网(北京)科技有限公司 评估指定app下载量的方法、数据服务器、打包平台及系统
CN107870772A (zh) * 2017-10-09 2018-04-03 深圳前海微众银行股份有限公司 跨环境的应用部署方法、平台、系统及可读存储介质
CN107870772B (zh) * 2017-10-09 2020-10-02 深圳前海微众银行股份有限公司 跨环境的应用部署方法、平台、系统及可读存储介质
CN108196876B (zh) * 2017-11-29 2020-07-07 贝壳找房(北京)科技有限公司 基于文件的php业务配置方法及中心服务器
CN108196876A (zh) * 2017-11-29 2018-06-22 链家网(北京)科技有限公司 基于文件的php业务配置方法及中心服务器
CN108021792A (zh) * 2017-12-04 2018-05-11 北京元心科技有限公司 镜像软件的生成方法、装置及相应终端
CN108021792B (zh) * 2017-12-04 2021-05-28 北京元心科技有限公司 镜像软件的生成方法、装置及相应终端
CN108037949A (zh) * 2017-12-26 2018-05-15 深圳乐信软件技术有限公司 安装包多渠道打包方法、装置、计算机设备及存储介质
CN108037949B (zh) * 2017-12-26 2020-09-15 深圳乐信软件技术有限公司 安装包多渠道打包方法、装置、计算机设备及存储介质
CN108228185B (zh) * 2017-12-29 2021-11-23 北京经纬恒润科技股份有限公司 一种嵌入式软件模块化生成方法和装置
CN108228185A (zh) * 2017-12-29 2018-06-29 北京经纬恒润科技有限公司 一种嵌入式软件模块化生成方法和装置
CN110780914A (zh) * 2018-07-31 2020-02-11 中国移动通信集团浙江有限公司 服务发布方法及装置
CN109766101A (zh) * 2018-12-12 2019-05-17 武汉掌游科技有限公司 一种Android自动打包方法及系统
CN110427192A (zh) * 2019-08-01 2019-11-08 上海麦克风文化传媒有限公司 一种it系统持续集成和持续发布方法
CN110457045A (zh) * 2019-08-16 2019-11-15 百度在线网络技术(北京)有限公司 组件化合并编译方法、装置、设备和存储介质
CN111124478A (zh) * 2019-12-19 2020-05-08 杭州迪普科技股份有限公司 版本管理方法及装置
CN111857801A (zh) * 2020-07-08 2020-10-30 广州云徙科技有限公司 一种移动应用的构建方法
CN113296828A (zh) * 2021-05-26 2021-08-24 北京京东振世信息技术有限公司 一种发布应用的方法、服务器和系统

Similar Documents

Publication Publication Date Title
CN106775912A (zh) 软件发布方法及系统
CN104156414B (zh) 一种垃圾文件的清理方法、装置及终端
CN107632842A (zh) 规则配置和发布方法、系统、设备及存储介质
CN112835560A (zh) Web多终端低代码智能软件开发平台
CN102164045A (zh) 参数化的计算机监视系统
US9658842B2 (en) Application runtime expert for deployment of an application on multiple computer systems
CN111158674A (zh) 组件管理方法、系统、设备及存储介质
CN110515673A (zh) 插件化系统及其方法
CN109062152B (zh) 一种基于逻辑组态产生的Local变量在线监控方法
CN106878363A (zh) 一种信息处理方法、装置及系统
CN104679532A (zh) 内核模块加载方法和装置
CN107733985A (zh) 一种云计算系统功能组件部署方法及装置
CN105446868A (zh) 系统兼容性测试方法、测试用例管理方法及相关装置
CN106484456A (zh) 用于在车辆中安装软件更新的方法和子系统
CN104133699A (zh) 设备系统软件升级方法与系统
CN111638884B (zh) 一种插件化工程编译的方法、系统、装置和存储介质
CN103176894A (zh) 一种面向数据库的测试数据自动衍生方法和装置
CN105117329A (zh) 一种应用程序自动上线方法及系统
CN107656867A (zh) 一种数据库与操作系统兼容性认证测试的方法和装置
CN109636664A (zh) 一种配电系统、配电主站及其点表模型更新方法
CN108595323A (zh) 一种系统测试方法及相关装置
CN109753767B (zh) 基于区块链的软件分发及更新方法和装置、服务器、客户端
CN111435306A (zh) 一种代码的管理方法和装置
CN112784417B (zh) 一种基于SysML的航电分布式联合仿真方法及系统
CN109298869A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531