CN106155751B - 应用打包发布方法及装置 - Google Patents
应用打包发布方法及装置 Download PDFInfo
- Publication number
- CN106155751B CN106155751B CN201610625478.2A CN201610625478A CN106155751B CN 106155751 B CN106155751 B CN 106155751B CN 201610625478 A CN201610625478 A CN 201610625478A CN 106155751 B CN106155751 B CN 106155751B
- Authority
- CN
- China
- Prior art keywords
- packaging
- module
- script
- files
- installation
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及移动应用开发技术领域,公开了一种应用打包发布方法及装置。所述方法包括步骤:接收触发信息,基于所述触发信息自动确定对应的打包脚本;执行所述打包脚本进行编译打包;将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;将所述在线安装地址通过通知信息发送给目标用户。本发明的技术方案通过独立且自动执行的方式完成了全部打包发布过程,无需人工干预即可实现App测试的中间处理过程,降低了测试过程中的沟通时间成本,大幅提升了工作效率和可靠性。
Description
技术领域
本发明涉及移动应用开发技术领域,特别涉及一种应用打包发布方法及装置。
背景技术
在移动应用(App)开发过程中,除开发人员在本地进行编译调试外,还需要有独立的测试人员对App当前的全部功能进行完整测试。测试的环境可能有多种,但可以肯定的是测试环境必然与开发人员的本地环境有较大的区别;为了保证测试的顺利进行,需要将开发人员本地环境中与App相关的文件全部打包发给测试人员。现有技术中,iOS的App一般需要借助打包工具,比如Xcode或Testflight等,才能完成编译打包行为,其自动化程度低,需要很多的人工干预,效率极低。
具体地,现有技术中,使用Xcode开发工具需要手动执行编译打包动作,打包完成后再把安装包文件手动发给测试人员,随后由测试人员自行接收下载并选择安装;这一过程很复杂,需要反复沟通,不能自动化完成打包、自动化发送更新日志。
而使用Testflight方式,虽然提供了一个发布和下载的平台,但实际使用时,仍需由客户端开发人员将每次编译打包生成的安装包提交到Testflight服务器,然后产品测试人员需从Testflight上获得更新。而且出于安全性的考虑,Testflight服务器只布设在内部局域网里,产品测试人员在外时是无法访问的,只能通过其他中介手段获取最新代码编译的安装包,操作过程费时费力且并不可靠。
此外,对于某些特殊测试情况,比如需要用户测试某项功能时,普通编译的安装包不应向普通用户发放,而需要打成adhoc(定制)包后由用户安装。Adhoc打包首先要获取用户的设备udid信息,把该udid信息加到App开发证书里面,然后把安装包发给用户,让用户安装。这个流程常常需要反复确认信息,仅一次安装过程就往往长达两三个小时。
而且随着移动App的功能越来越强大,程序也越来越臃肿,一次编译打包需要的时间就越来越长,比如土豆App目前打包一次需要5-10分钟、手机QQ编译打包一次需要10-20分钟,如果每次编译打包的工作都由开发人员手动在本地进行,将会严重影响工作效率。
发明内容
针对现有技术的缺陷,本发明的目的是提供一种应用打包发布方法及装置,以高效快捷地进行应用程序的自动化打包发布测试。
根据本发明的一个方面,提供了一种应用打包发布方法,包括步骤:
接收触发信息,基于所述触发信息自动确定对应的打包脚本;
执行所述打包脚本进行编译打包;
将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
将所述在线安装地址通过通知信息发送给目标用户。
优选地,所述方法中,在执行所述打包脚本之前还包括:
识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。
优选地,所述进行编译打包包括:
打开项目功能目录;
编译全部工程源文件;
将编译后的文件打包。
优选地,所述方法还包括:
在打开项目功能目录后,首先整理并更新项目全部工程源文件代码。
优选地,所述方法还包括:
在更新代码的同时获取更新日志;
在所述通知信息中将所述更新日志发送给所述目标用户。
在本发明的另一方面,还同时提供了一种应用打包发布装置,包括:
触发模块,用于接收触发信息,基于所述触发信息自动确定对应的打包脚本;
编译打包模块,用于执行所述打包脚本进行编译打包;
上传模块,用于将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
发布模块,用于将所述在线安装地址通过通知信息发送给目标用户。
优选地,所述装置还包括:
冲突检测模块,用于在执行所述打包脚本之前,识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。
优选地,所述编译打包模块包括:
目录访问模块,用于打开项目功能目录;
编译模块,用于编译全部工程源文件;
打包模块,用于将编译后的文件打包。
优选地,所述编译打包模块还包括:
更新模块,用于在打开项目功能目录后,首先整理并更新项目全部工程源文件代码。
优选地,所述装置还包括:
日志获取模块,用于在更新代码的同时获取更新日志;
日志发送模块,在所述通知信息中将所述更新日志发送给所述目标用户。
本发明实施例提供了一种应用打包发布方法及装置,通过独立且自动执行的方式完成了全部打包发布过程,无需人工干预即可实现App测试的中间处理过程,降低了测试过程中的沟通时间成本,大幅提升了工作效率和可靠性。
附图说明
图1是本发明实施例中应用打包发布方法的流程示意图;
图2是本发明优选实施例中通过邮件匹配规则识别触发信息的应用场景示意图;
图3是本发明实施例中应用打包发布装置的模块示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
移动应用程序App的测试过程避免不了频繁地编译打包发布App安装包,现有技术中这一过程严重依赖于人工干预,甚至需要开发人员在各个环节进行长时间的等待以便进行下一步处理,效率极端低下。在当前模块化开发成为趋势的情况下,把各模块代码规整起来再编译打包发布需要更多的协调工作,亟需一种可自动完成编译生成安装包工作全过程的方案,而不是开发人员一直等待自己电脑的打包完成,不应再出现需要像以前PC时代的“出去喝个咖啡回来,打包还没完成”的现象。
本发明实施例提供了一种应用打包发布方案,通过独立设置的编译打包设备,由一定的外部事件触发各阶段操作的自动执行,从而实现了高效的App测试时打包及发布。如图1所示,本发明实施例中的应用打包发布方法包括步骤:
S1,接收触发信息,基于所述触发信息自动确定对应的打包脚本;
S2,执行所述打包脚本进行编译打包;
S3,将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
S4,将所述在线安装地址通过通知信息发送给目标用户。
其中,在本发明实施例中,可以设置独立的设备来自动完成App打包发布的全过程,所述目标用户通过所述在线安装地址获取App的所述安装文件,从而在本地完成App的安装和测试。
在本发明一个优选实施例中,步骤S1所述触发信息为邮件,打包设备被配置为定时检查新邮件,根据预设的规则识别邮件内容,判断邮件是否为启动打包过程的触发信息。更优选地,所述识别邮件内容包括但不限于检查邮件头和/或邮件正文等,所述预设的规则包括但不限于发件人、主题、正文关键字的匹配等。一个典型的规则匹配示例如图2所示:打包设备的邮件系统被配置为根据主题(为tdipa)和发件人(包含tudou.com)来识别作为触发信息的邮件,在满足全部匹配条件后自动执行或运行特定打包脚本(AppleScript)的操作。在本发明另一个优选实施例中,根据不同匹配条件的组合,可以确定并执行不同的打包脚本。此外,优选修改打包设备的节能设置,保证其在随时待命接收邮件指令的前提下能够尽可能长时间地保持稳定运行状态,比如使用自动屏保模式、显示器关闭时设备不休眠等,保持定时接收邮件指令。
触发信息可由产品开发人员和/或所述目标用户(比如产品测试人员等)发出,优选由所述目标用户发出;若由产品开发人员发出,可进一步在触发信息中写明所述目标用户的接收方式,比如邮箱地址等。
优选地,步骤S2执行所述打包脚本进行编译打包步骤包括:打开项目功能目录;编译全部工程源文件;将编译后的文件打包。所述打包脚本优选为Shell脚本,所述打包脚本可通过预先配置的命令行指令来自动获取参数,完成全自动化的打包和发布过程。
在本发明一个优选实施例中,在执行打包脚本之前还包括:识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。该操作是为了防止同时进行两个打包动作而引起冲突,若设备当前非空闲,比如有其它打包过程的脚本正在执行,则等待在先的打包过程完成后再进行本次打包过程。更优先地,在确定开始执行所述打包脚本的同时告知所述触发信息的发起方,以便对方对全部打包过程有比较明确的认识,可有效进行工作规划。
更进一步地,所述打包脚本打开项目功能目录后首先整理并更新全部项目代码。优选地,本发明实施例中使用版本控制系统整理并更新全部项目代码,比如使用git系统进行分布式的版本控制,执行所述打包脚本时,使用gitpull命令更新全部项目代码。更优选地,本发明实施例在更新代码的同时还获取git服务器的更新日志。
编译和打包可以通过调用现有的打包工具完成,以打包iOS的App为例,优选使用xcodebuild对工程源文件进行编译(比如生成文件xxx.app),再使用xcrun对编译后文件进行打包(比如将xxx.app文件打包成xxx.ipa)。
此外,iOS的App通常需要苹果官方的授权信息才能安装,本发明实施例优选在打包的同时对文件进行签名,以便将安装文件提供给特定的目标用户。目前签名通常有两种方式,使用企业版证书签名方式或使用adhoc签名方式,前者是由发布企业统一获得官方授权,无需安装设备单独去获取授权,目标用户获取安装包可以直接安装,只需同意一次企业授权后就可以运行;而后者需要先获取目标用户终端的UDID(Unique DeviceIdentifier),使用该UDID在苹果开发者网站添加获得开发者证书后,再使用该开发者证书对文件签名打包,这样生成的安装文件只能在该UDID对应的终端上进行安装。前者的打包发布过程较为便捷,通常适用于大规模的内部测试;后者的打包发布过程安全性较强,通常适用于邀请外部个别用户协助测试。本发明实施例优选使用企业版证书签名方式进行;若使用adhoc签名方式进行,优选在接收触发信息的同时接收终端的UDID。
步骤S3中,所述应用托管平台优选为网络服务器,比如http服务器、ftp服务器、P2P设备或局域网文件服务器等;本发明实施例优选使用FIR.im服务方案,通过该网站提供的账号token标识信息,使用上传接口上传到网站,提供出http在线安装链接。优选地,上传安装文件和获取在线安装地址也可通过执行所述打包脚本而自动实现,具体可在打包脚本中使用fir.im应用托管平台的命令行接口,将安装文件上传到fir.im网站,随后获取对应的在线安装地址。
步骤S4中,所述通知信息优选为邮件,通过邮件通知所述目标用户,告知其安装文件已准备好,并附带在线安装地址,由所述目标用户根据所述在线安装地址下载所述安装文件,在其用户终端上安装App进行测试。优选地,本发明实施例还在通知信息中将App的更新日志发送给所述目标用户,所述更新日志优选通过git服务器获取。更优选地,发送通知信息也可通过执行所述打包脚本而自动实现,具体可在打包脚本中使用sendEmail的命令行指令,实现通知邮件的编辑和发送;其中,sendEmail是一个轻量级、命令行的SMTP邮件客户端,其可以通过命令行指令自由配置收件人、主题、正文信息、发件人邮箱等。
本发明实施例的技术方案通过独立且自动执行的方式完成了全部打包发布过程,无需人工干预即可实现App测试的中间处理过程,降低了测试过程中的沟通时间成本,大幅提升了工作效率和可靠性。
进一步如图3所示,与上述方法一一对应地,本发明实施例还同时提供了一种应用打包发布装置1,包括:
触发模块101,用于接收触发信息,基于所述触发信息自动确定对应的打包脚本;
编译打包模块102,用于执行所述打包脚本进行编译打包;
上传模块103,用于将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
发布模块104,用于将所述在线安装地址通过通知信息发送给目标用户。
其中,在本发明实施例中,可以设置独立的设备来实现上述应用打包发布装置,以自动完成App打包发布的全过程,所述目标用户通过所述在线安装地址获取App的所述安装文件,从而在本地完成App的安装和测试。
优选地,所述装置还包括:
冲突检测模块,用于在执行所述打包脚本之前,识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。
优选地,所述编译打包模块包括:
目录访问模块,用于打开项目功能目录;
编译模块,用于编译全部工程源文件;
打包模块,用于将编译后的文件打包。
优选地,所述编译打包模块还包括:
更新模块,用于在打开项目功能目录后,首先整理并更新项目全部工程源文件代码。
优选地,所述装置还包括:
日志获取模块,用于在更新代码的同时获取更新日志;
日志发送模块,在所述通知信息中将所述更新日志发送给所述目标用户。
在本发明一个优选实施例中,所述触发信息和所述通知信息均为邮件,应用打包发布装置被配置为定时检查邮件系统,并随时在完成打包任务后将发布邮件发送给所述目标用户。因此,优选通过修改应用打包发布装置的节能设置,保证其在随时待命以接收/发送邮件指令的前提下,能够尽可能长时间地保持稳定运行状态,节能设置比如使用自动屏保模式、显示器关闭时设备不休眠等,保持接收/发送邮件指令可及时得到处理。
优选地,本发明实施例中的应用打包发布装置是相对独立的处理设备,比如集群、服务器、PC或笔记本电脑等;也可以是相对独立的功能单元,比如独立芯片、片上系统(System on Chip,SoC)或IP核等,通过处理设备加载后实现相应功能。在实际应用中,上述装置中的各模块均可由位于装置设备中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(FieldProgrammable GateArray,FPGA)等实现;文件数据(包括但不限于邮件、源文件、代码、更新日志、编译后文件和打包后文件等)优选通过存储设备进行保存并提供给上述处理设备/单元。
在本发明实施例中提及的术语“应用”可以包括各种计算设备的应用程序,比如移动应用、PC应用、嵌入式应用、单片机应用等等。考虑到移动终端网络访问和安装应用的特殊性,本发明实施例优选针对移动应用。应用所适用的环境可以包括各种已知操作系统,比如iOS系列、Android系列、Windows系列、OS系列、Linux系列、Unix系列等等。相应地,安装文件类型同样可以包括各种已知的应用安装类型,比如ipa文件、apk文件、exe文件、bin文件、zip文件等等。应用程序可以采用任何已知的程序开发语言进行编写,比如Objective-C、java、C++、C、C#、Python、Ruby、Go、JavaScript等等。
在本发明更优选实施例中,可以形成包含应用打包发布装置在内的具有应用程序开发管理机制的电子系统。其中,电子系统优选包括诸如客户端或服务器的第一设备,其连接到诸如客户端或服务器的第二设备;第一设备可以通过通信路径(诸如无线或有线网络)与第二设备通信。
在一个示例中,第一设备可以是各种具有一定处理能力的计算设备中的任何一种,诸如智能手机、平板设备、智能电视、个人数字助理(PDA)、笔记本计算机、PC、可穿戴设备、车载计算设备或其它多功能娱乐设备。第一设备可以直接或间接地耦合到通信路径来与第二设备通信,或者可以是独立的设备。但是本领域相关技术人员也应该理解第一设备还可以是不同类型的设备;例如,第一设备也可以是用于辅助提供计算能力的设备,如机顶盒、电视盒子、游戏设备、HUD、智能电话机等等。在这里,上述第一设备和多媒体的列举不应理解为对本发明具体实施方式的穷尽。
第二设备可以是各种集中式或分布式计算设备、文件或数据处理设备中的任何一种。例如,第二设备可以是网络服务器、台式计算机、平板、膝上型计算机、网格计算资源、虚拟化计算机资源、云计算资源、对等分布式计算设备等,或者其组合。在另一个示例中,第二设备可以是用于接收及存储网络数据的任意设备,诸如磁盘阵列、云存储设备、文件共享系统、分布式存储系统等等。第二设备可以集中在单个房间中、分布在不同的房间、分布在不同的地理位置、嵌入在电信网络之内。第二设备可以具有用于与通信路径耦合来与第一设备通信的部件。
通信路径可以是各种网络,如可以包括无线通信、有线通信、光、超声波或其组合,卫星通信、蜂窝通信、蓝牙、红外数据协会标准(IrDA)、无线保真(WiFi)和全球微波接入互联(WiMAX)是可以被包括在通信路径中的无线通信的示例。以太网、数字用户线(DSL)、光纤到户(FTTH)、高清晰度多媒体接口(HDMI)线缆和普通老式电话服务(POTS)是可以包括在通信路径中的有线通信的示例。此外,通信路径可以穿越许多网络拓扑和距离。例如,通信路径可以包括直接连接、个域网(PAN)、局域网(LAN)、城域网(MAN)、宽域网(WAN)或其组合。
在本发明一个实施例中,应用打包发布方法或装置可以在上述电子系统的任意设备上执行处理和/或显示包括中间处理过程(比如更新、编译、打包、邮件收发等细节)在内的各种数据处理操作。
更进一步地,列举一个对于实现所公开的实施例有用的计算机系统,该计算机系统可以构成上述电子系统或电子系统中的任一设备,其包括一个或多个处理器,并且可以进一步包括电子显示设备(用于显示图形、文本和其它数据),主存储器(例如,随机存取存储器RAM)、存储器件(例如,硬盘驱动器)、可移除存储器件(例如,可移除存储驱动器、可移除存储模块、磁带驱动器、光盘驱动器、在其中存储有计算机软件和/或数据的计算机可读介质),用户接口设备(例如,键盘、触摸屏、键盘、指点设备)以及通信接口(例如,调制解调器、网络接口(诸如以太网卡)、通信端口或PCMCIA插槽和卡)。通信接口允许在计算机系统和外部设备之间传递软件和数据。计算机系统还包括连接内外部器件以实现数据交互的通信基础设施(例如,通信总线、转换接头或网络)。
此外,邮件数据、原始的各版本源文件代码数据、中间生成的编译后文件数据和/或最终输出的安装文件数据可以保存在第一设备和/或第二设备本地;在另一个实施例中,输入数据(包括但不限于接收邮件、各版本代码数据、更新日志等)也可以从输入源(包括但不限于邮件服务器、开发人员设备、版本控制系统等)提供,输出数据(包括但不限于编译文件、安装文件、发送邮件等)也可以提供给其他输出源(包括但不限于缓存、临时存储器、编译处理设备、文件服务器、http服务器、ftp服务器、P2P设备、邮件服务器等)进行呈现和/或存储。输入/输出数据可以无线地或通过有线接口被发送/接收,并且可以包括未压缩/压缩的数据内容。在一个实施例中,电子系统中的数据内容的有线或无线通信可以包括在下面一个或多个上的通信:以太网、电话(例如,POTS)、线缆、电力线和光纤系统,和/或包括长期演进(TD-LTE或FDD-LTE)系统、码分多址(CDMA或CDMA2000)通信系统、频分多址(FDMA)系统、时分多址(TDMA)系统(诸如GSM/GPRS(通用分组无线电服务)/EDGE(增强的数据GSM环境)、TETRA(地面集群无线电)移动电话系统)、宽带码分多址(WCDMA)系统、IEEE802.11系统、正交频分多址(OFDM)系统等中的一个或多个的无线系统。在一个实施例中,输入/输出源可以在无线网络(例如,互联网、局域网(LAN)、宽域网(WAN)、个域网(PAN)、校园无线网(CAN)、城域网(MAN)等)上发送。在一个实施例中,输入/输出源可以来自于基于云的系统、服务器、计算机设备、移动设备等等。
在一个实施例中,从输入源输入的文件数据在到达输入节点之前可以被加密、压缩和/或数字签名,比如,经由加密单元、压缩单元和/或签名编码单元处理;而到达输入节点后可直接传输或经相应地解密、解压缩和/或验证签名后再进行传输,比如,经由解密单元、解压缩单元和/或验证签名单元处理。在一个实施例中,输出节点待输出的文件数据可以是原始数据、也可是之前被加密、压缩和/或数字签名的数据、还可以是从接收数据中解密、解压缩和/或验证签名后获取的数据。从输出节点输出到输出源的文件数据在到达输出源之前也可以被加密、压缩和/或数字签名,此处包括直接转发的被加密、压缩和/或数字签名的数据,或经输出节点二次加密、压缩和/或数字签名的数据,到达输出源后再经相应地解密、解压缩和/或验证签名后获取最终文件户籍。在一个实施例中,输出源可以无线地或通过有线接口从输出节点接收输出数据。
在一个实施例中,来自输入源的文件数据可以从通信网络、计算机网络、其它计算机可读存储介质或者任何其它合适的数据提供手段来提供。在一个实施例中,来自输入源的文件数据可以经由射频接口(诸如4G、3G通信等)、计算机网络的有线或无线连接(诸如以太网、WLAN等)、其它有线接口(诸如USB等)或其它无线接口(诸如蓝牙等)之类各种不同方式耦合到接收设备。
在某些实施例中,在具有多核处理器的对称多处理计算机可构成上述计算机系统;依照某些实施例,核心处理组件可包含流水线(pipeline)处理设备,其通过总线耦合到各个处理器;在一种实施例中,协处理器可通过总线耦合到芯片组核心逻辑及主处理器。在某些实施例中,协处理器或主处理器中之一或多个可使用具有多核的对称多处理来并行计算梯度。存储器可耦合到芯片组核心逻辑,且存储器可例如包含主存储器、硬盘驱动器以及可移动媒介等。
在一种实施例中,实现上文中的方法的各步骤的计算机指令序列可实现为存储在主存储器的部分中的机器可读指令。另外,在主存储器内还可建立连续缓冲器、寄存器、池、堆栈和队列等形式。但是,在其它示例中,实现上述方法的序列的缓冲与存储也可在主处理器、另一存储器或者在协处理器中实现。
在某些实施例中,实现上述方法的序列可用软件来实现,且在其它实施例中它们可用硬件来实现。在软件实施例中,序列可由对处理器或处理器可执行的指令通过调用存储在计算机可读介质中的指令来实现。计算机可读介质可为任意计算机可读存储介质,包括磁、半导体或者光存储器。
本文所述的应用打包发布技术可用各种硬件结构来实现。例如,编译功能可集成到芯片组内。备选地,可使用分布式处理器来并行处理作业。作为另一实施例,并行处理功能可用包括多核处理器的通用目的处理器来实现。
经由通信接口传递的信息可以是信号的形式,诸如电、电磁、光或经由通信链路能够被通信接口接收的其它信号,所述通信链路携载信号并且可以使用线或缆、光纤、电话线、蜂窝式电话链路、射频(RF)链路和/或其它通信信道来实现。本发明实施例所描述的计算机程序指令可以被加载在计算机、可编程数据处理装置或处理设备上,使得在其上执行的一系列操作以产生计算机实现的过程。
术语“计算机程序介质”、“计算机可用介质”、“计算机可读介质”和“计算机程序产品”用来一般地指代媒体,诸如主存储器、辅存储器、可移除存储器件、安装在硬盘驱动器中的硬盘和信号。这些计算机程序产品是用于向计算机系统提供软件的部件。计算机可读介质允许计算机系统从计算机可读介质中读取数据、指令、消息或消息包和其它计算机可读信息。例如,计算机可读介质可以包括非易失性存储器,诸如软盘、ROM、闪存、磁盘驱动器存储器、CD-ROM和其它永久性存储装置。例如,它对于在计算机系统之间传输诸如数据和计算机指令的信息是有用的。计算机程序指令可以被存储在计算机可读介质中,计算机可读介质可以指导计算机、其它可编程数据处理装置或其它设备按特定的方式起作用,使得被存储在计算机可读介质中的指令产生包括实施在图1流程图和/或图3框图框中指定的功能/行为的指令的制造品。
此外,计算机可读介质可以将计算机可读信息包括在诸如网络链路和/或网络接口的暂态介质中,包括有线网络或无线网络,其允许计算机读取这样的计算机可读信息。计算机程序(即计算机控制逻辑)被存储在主存储器和/或辅存储器中。计算机程序也可以经由通信接口接收。这样的计算机程序当被运行时使得计算机系统能够执行如在此讨论的特征。具体地,计算机程序当被运行时,使得多核处理器执行计算机系统的特征。这样的计算机程序表示计算机系统的控制器。
本发明实施例提供了一种应用打包发布方法及装置,通过独立且自动执行的方式完成了全部打包发布过程,无需人工干预即可实现App测试的中间处理过程,降低了测试过程中的沟通时间成本,大幅提升了工作效率和可靠性。其中,本发明实施例通过触发方式启动打包过程,可随时满足测试需要而无需前置进行人工沟通;文件的更新、编译、签名、打包及发布全过程均无需人工干预而可自动完成,大大减少了各部门人员交流协调的时间,也无需占用开发人员的设备和精力;对于产品测试人员,也可以随时随地收发邮件完成App测试包安装文件的获取,极大地提升了应用开发测试效率。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种应用打包发布方法,其特征在于,所述方法包括步骤:
接收邮件,根据预设的规则识别邮件内容,判断邮件是否为启动打包过程的触发信息,若是,则基于所述触发信息自动确定对应的打包脚本,其中,所述打包脚本根据所述触发信息对应的不同匹配条件的组合确定;
执行所述打包脚本进行编译打包;
将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
将所述在线安装地址通过通知信息发送给目标用户,其中,所述目标用户为产品测试人员。
2.根据权利要求1所述的方法,其特征在于,所述方法中,在执行所述打包脚本之前还包括:
识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。
3.根据权利要求1所述的方法,其特征在于,所述进行编译打包包括:
打开项目功能目录;
编译全部工程源文件;
将编译后的文件打包。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在打开项目功能目录后,首先整理并更新项目全部工程源文件代码。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在更新代码的同时获取更新日志;
在所述通知信息中将所述更新日志发送给所述目标用户。
6.一种应用打包发布装置,其特征在于,所述装置包括:
触发模块,用于接收邮件,根据预设的规则识别邮件内容,判断邮件是否为启动打包过程的触发信息,若是,则基于所述触发信息自动确定对应的打包脚本,其中,所述打包脚本根据所述触发信息对应的不同匹配条件的组合确定;
编译打包模块,用于执行所述打包脚本进行编译打包;
上传模块,用于将打包完成的安装文件上传到应用托管平台,并获取所述安装文件的在线安装地址;
发布模块,用于将所述在线安装地址通过通知信息发送给目标用户,其中,所述目标用户为产品测试人员。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
冲突检测模块,用于在执行所述打包脚本之前,识别设备当前是否空闲,若空闲则开始执行所述打包脚本,否则等待空闲时再开始执行所述打包脚本。
8.根据权利要求6所述的装置,其特征在于,所述编译打包模块包括:
目录访问模块,用于打开项目功能目录;
编译模块,用于编译全部工程源文件;
打包模块,用于将编译后的文件打包。
9.根据权利要求8所述的装置,其特征在于,所述编译打包模块还包括:
更新模块,用于在打开项目功能目录后,首先整理并更新项目全部工程源文件代码。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
日志获取模块,用于在更新代码的同时获取更新日志;
日志发送模块,在所述通知信息中将所述更新日志发送给所述目标用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610625478.2A CN106155751B (zh) | 2016-08-02 | 2016-08-02 | 应用打包发布方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610625478.2A CN106155751B (zh) | 2016-08-02 | 2016-08-02 | 应用打包发布方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155751A CN106155751A (zh) | 2016-11-23 |
CN106155751B true CN106155751B (zh) | 2019-12-17 |
Family
ID=57328725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610625478.2A Expired - Fee Related CN106155751B (zh) | 2016-08-02 | 2016-08-02 | 应用打包发布方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155751B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776231B (zh) * | 2017-01-09 | 2019-11-15 | 武汉斗鱼网络科技有限公司 | 基于Git的Android崩溃日志优化方法及系统 |
CN107315596A (zh) * | 2017-07-26 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种代码自动打包部署方法和装置 |
CN108400902B (zh) * | 2018-01-15 | 2021-08-24 | 创新先进技术有限公司 | 一种灰度测试的方法、装置及设备 |
CN108418717B (zh) * | 2018-03-02 | 2020-04-07 | 平安科技(深圳)有限公司 | 安卓应用打包上传方法、装置、计算机设备及存储介质 |
CN108469957A (zh) * | 2018-03-08 | 2018-08-31 | 平安科技(深圳)有限公司 | 应用打包上传方法、装置、计算机设备及存储介质 |
CN109145042A (zh) * | 2018-07-18 | 2019-01-04 | 优信拍(北京)信息科技有限公司 | 一种安装包的传输方法,装置,系统,系统的构建方法 |
CN109101244B (zh) * | 2018-07-20 | 2022-06-03 | 珠海宏桥高科技有限公司 | 一种ios系统一体化自动打包方法 |
CN109167826B (zh) * | 2018-08-20 | 2021-05-07 | 中软信息系统工程有限公司 | Web应用的上架方法、装置及系统 |
CN109491903A (zh) * | 2018-11-02 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种自动测试脚本拼接处理方法、装置、终端及存储介质 |
CN111301789B (zh) * | 2018-12-11 | 2022-08-12 | 顺丰科技有限公司 | 应用软件打包方法和装置 |
CN109710262A (zh) * | 2018-12-12 | 2019-05-03 | 深圳市多元世纪信息技术股份有限公司 | 软件发布方法和装置、计算机可读存储介质 |
CN109885391A (zh) * | 2018-12-28 | 2019-06-14 | 北京城市网邻信息技术有限公司 | 一种资源打包方法、装置、电子设备及介质 |
CN110378082A (zh) * | 2019-07-24 | 2019-10-25 | 湖南国科微电子股份有限公司 | 软件安全开发方法及系统 |
CN110413314A (zh) * | 2019-07-24 | 2019-11-05 | 深圳市盟天科技有限公司 | 一种文件发布方法、装置、设备及存储介质 |
CN112445513A (zh) * | 2019-08-29 | 2021-03-05 | 天津五八到家科技有限公司 | 安装包处理方法及装置 |
CN110955583A (zh) * | 2019-12-18 | 2020-04-03 | 米哈游科技(上海)有限公司 | 一种通知方法、装置、电子设备及存储介质 |
CN113741906A (zh) * | 2020-05-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 应用发布的方法和装置 |
CN112328266B (zh) * | 2020-11-06 | 2021-09-28 | 因特睿科技有限公司 | 一种软件互联接口导向的应用程序约减方法和系统 |
CN112711624B (zh) * | 2020-12-25 | 2024-06-11 | 北京达佳互联信息技术有限公司 | 数据打包控制方法、装置、电子设备和存储介质 |
CN112685048B (zh) * | 2021-01-05 | 2024-07-16 | 南方电网数字平台科技(广东)有限公司 | 应用程序打包方法、电子设备及存储介质 |
CN112817850A (zh) * | 2021-01-28 | 2021-05-18 | 北京达佳互联信息技术有限公司 | 信息处理方法、装置、系统、电子设备及存储介质 |
CN114726848B (zh) * | 2022-06-07 | 2022-10-04 | 广州易方信息科技股份有限公司 | Windows平台的客户端自动化打包和exe分发方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
CN103838573A (zh) * | 2014-01-03 | 2014-06-04 | 浙江宇天科技股份有限公司 | 应用程序生成方法及装置 |
CN104298500A (zh) * | 2014-08-21 | 2015-01-21 | 上海宜微影像科技有限公司 | 在线自动生成并可以分享的电子相册App系统及方法 |
CN105550001A (zh) * | 2015-12-24 | 2016-05-04 | 厦门市美亚柏科信息股份有限公司 | 分布式自动构建方法及系统 |
US9372681B1 (en) * | 2013-10-02 | 2016-06-21 | Google Inc. | Redirection of a document URL to a natively-operating application |
-
2016
- 2016-08-02 CN CN201610625478.2A patent/CN106155751B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
US9372681B1 (en) * | 2013-10-02 | 2016-06-21 | Google Inc. | Redirection of a document URL to a natively-operating application |
CN103838573A (zh) * | 2014-01-03 | 2014-06-04 | 浙江宇天科技股份有限公司 | 应用程序生成方法及装置 |
CN104298500A (zh) * | 2014-08-21 | 2015-01-21 | 上海宜微影像科技有限公司 | 在线自动生成并可以分享的电子相册App系统及方法 |
CN105550001A (zh) * | 2015-12-24 | 2016-05-04 | 厦门市美亚柏科信息股份有限公司 | 分布式自动构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106155751A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155751B (zh) | 应用打包发布方法及装置 | |
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
US10127057B2 (en) | Method and apparatus for dynamically implementing application function | |
CN110601952A (zh) | 多渠道消息通知发送方法和装置 | |
CN105278972B (zh) | 一种通过动态安装包快速让用户成为好友的系统和方法 | |
CN109800005B (zh) | 一种客户端热更新方法及装置 | |
CN106445548B (zh) | 一种测试包下发方法和装置 | |
US20150011187A1 (en) | Location based applications | |
US20160241535A1 (en) | Terminal authentication and registration system, method for authenticating and registering terminal, and storage medium | |
CN113138768B (zh) | 应用程序包生成方法、装置、电子设备以及可读存储介质 | |
CN110928571A (zh) | 业务程序开发方法和装置 | |
WO2021121407A1 (zh) | 一种虚拟机的容量更改方法及装置 | |
CN108563472B (zh) | 基于多开应用的服务插件加载方法及装置 | |
CN111026408A (zh) | 一种管理应用的方法、装置和计算机存储介质 | |
JP6195465B2 (ja) | 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理 | |
CN111488169A (zh) | 应用程序热更新的方法及装置、存储介质及电子设备 | |
CN104751046B (zh) | 一种应用程序的用户认证方法及移动终端设备 | |
CN109218338B (zh) | 信息处理系统、方法和装置 | |
CN112732265B (zh) | 一种数据处理方法和相关装置 | |
CN112416395A (zh) | 一种热修复更新方法和装置 | |
CN107247661B (zh) | 支持对应用的安装包进行自动化验证的方法和系统 | |
CN114449523B (zh) | 用于卫星测控系统的流量过滤方法、装置、设备及介质 | |
Schuß et al. | Iot device security the hard (ware) way | |
CN114579175A (zh) | 一种公有云算子转私有化的方法、装置、电子设备及介质 | |
CN113516523A (zh) | 一种订单数据处理方法和接单系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200509 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 200000, room 2, floor 02, building 555, Dongchuan Road, Minhang District, Shanghai Patentee before: Transmission network technology (Shanghai) Co., Ltd |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191217 Termination date: 20200802 |