自动化构建及发布的小程序工程化方法

文档序号:1798197 发布日期:2021-11-05 浏览:3次 >En<

阅读说明:本技术 自动化构建及发布的小程序工程化方法 (Automatic small program engineering method for building and releasing ) 是由 马山虎 于 2021-08-05 设计创作,主要内容包括:本申请涉及一种自动化构建及发布的小程序工程化方法,该方法包括:利用配置模块,获取用户需求信息,并根据需求信息配置代码上传密钥和IP地址信息,配置工程化系统参数、环境代理信息和三方依赖库信息;利用开发预览版生成模块,基于配置好的配置模块,确定第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元的参数配置;利用体验版生成模块,基于配置好的配置模块,确定第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元的参数配置,以便于根据用户指定需求发布体验版小程序。如此,极大地减少了人工干预的情况,降低了人为操作带来的风险,同时,提高了生成效率,确保了产出小程序的一致性。(The application relates to an automatic small program engineering method for building and releasing, which comprises the following steps: acquiring user demand information by using a configuration module, uploading key and IP address information according to a demand information configuration code, and configuring engineering system parameters, environment agent information and three-party dependency base information; determining parameter configurations of a first pre-compiling unit, a preview generating unit, a first change record generating unit and a first notification unit by using a development preview generation module based on a configured configuration module; and determining parameter configurations of a second pre-compiling unit, a second change record generating unit, a compiling and uploading unit and a second notification unit by using the experience version generating module based on the configured configuration module so as to release the experience version applet according to the specified requirements of the user. Therefore, the condition of manual intervention is greatly reduced, the risk caused by manual operation is reduced, meanwhile, the generation efficiency is improved, and the consistency of the output small program is ensured.)

自动化构建及发布的小程序工程化方法

技术领域

本申请涉及小程序开发技术领域,具体涉及一种自动化构建及发布的小程序工程化方法。

背景技术

随着移动互联网的发展,小程序相关项目呈现爆炸式增长。同时带来的开发效率问题也日益突出。虽然小程序开发具有开发成本低、更新换代速度快、分享的入口多、用户流量基础好等众多优点,但同时也要面对开发生态封闭、开发流程死板、技术栈分散等一系列问题,尤其对于小程序的打包发布技术,由于编译过程依赖开发者工具,对跨职能的协作造成很大困扰。

现有的小程序打包发布方案,基本思路是通过手动拉取最新的代码,切换成正确的代码分支,然后通过开发工具打开项目和开发工具进行编译,编译完成后,手动设置发布内容再提交到小程序管理后台,设置为预览版以供其他职能部门人员使用。这种打包发布方案,一方面过于依赖人工操作,难以避免发生人为操作失误的情况,容易引起产品测试交付问题;另一方面,由于前置条件需要开发工具和代码,这为跨职能的参与者增加了难度,需要对非开发人员进行一定培训才可以参与到工作流程中,降低了工作效率。

发明内容

有鉴于此,本申请的目的在于克服现有技术中小程序打包发布方案过于依赖人工操作,且编译过程过于依赖开发者工具的技术问题,提供一种自动化构建及发布的小程序工程化方法。

为实现以上目的,本申请采用如下技术方案:

本申请提供一种自动化构建及发布的小程序工程化方法,应用于自动化构建及发布的小程序工程化系统,所述自动化构建及发布的小程序工程化系统包括配置模块、开发预览版生成模块和体验版生成模块;所述方法包括:

利用所述配置模块,获取用户需求信息,并根据所述需求信息配置代码上传密钥和IP地址信息,配置工程化系统参数、环境代理信息和三方依赖库信息;

利用所述开发预览版生成模块,基于配置好的所述配置模块,确定第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元的参数配置;

利用所述体验版生成模块,基于配置好的所述配置模块,确定第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元的参数配置,以便于根据用户指定需求发布体验版小程序。

可选的,所述IP地址信息包括IP白名单信息。

可选的,所述工程化系统参数包括:代码分支信息、服务器环境信息、编译代码版本信息和代码设置信息。

可选的,所述代码设置信息包括:是否开启ES6转ES5,是否开启增强编译,是否压缩JS代码,是否压缩WXML代码,是否压缩WXSS代码,是否开启代码保护,以及是否开启样式自动补全。

可选的,所述三方依赖库信息的配置方法包括:

通过软件包管理器初始化安装终端设备的依赖库。

本申请提供的技术方案可以包括以下有益效果:

本申请的方案中,利用配置模块,可以在获取到用户的需求信息后,根据需求信息配置代码上传密钥和IP地址信息,配置工程化系统系数、环境代理信息和三方依赖库信息,以工程化的方式确定了基础配置信息。利用开发预览版生成模块,可以基于配置好的配置模块,确定出第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元的参数配置,为开发预览版的小程序提供了基础选项配置,为开发预览版小程序的自动生成奠定了基础。利用体验版生成模块,可以基于配置好的配置模块,确定第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元的参数配置,以便于根据用户制定需求发布对应的体验版小程序。如此,基于可持续化集成和部署的思想,通过基础的选项配置,就可以自动化构建、编译和打包小程序,并提交到小程序管理后台,极大地减少了人工干预的情况,降低了人为操作带来的风险,同时,提高了生成效率,确保了产出小程序的一致性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的一种自动化构建及发布的小程序工程化方法的流程图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

参见图1是本申请一个实施例提供的一种自动化构建及发布的小程序工程化方法的流程图。如图所示,本实施例提供一种自动化构建及发布的小程序工程化方法,该方法可以应用于自动化构建及发布的小程序工程化系统中,自动化构建及发布的小程序工程化系统可以包括三个模块,分别为配置模块、开发预览版生成模块和体验版生成模块。本实施例提供的一种自动化构建及发布的小程序工程化方法至少可以包括如下实施步骤:

步骤11、利用配置模块,获取用户需求信息,并根据需求信息配置代码上传密钥和IP地址信息,配置工程化系统参数、环境代理信息和三方依赖库信息。

其中,IP地址信息包括IP白名单信息。IP白名单信息为被允许访问的IP地址。

步骤12、利用开发预览版生成模块,基于配置好的配置模块,确定第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元的参数配置。

步骤13、利用体验版生成模块,基于配置好的配置模块,确定第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元的参数配置,以便于根据用户指定需求发布体验版小程序。

本实施例中,利用配置模块,可以在获取到用户的需求信息后,根据需求信息配置代码上传密钥和IP地址信息,配置工程化系统系数、环境代理信息和三方依赖库信息,以工程化的方式确定了基础配置信息。利用开发预览版生成模块,可以基于配置好的配置模块,确定出第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元的参数配置,为开发预览版的小程序提供了基础选项配置,为开发预览版小程序的自动生成奠定了基础。利用体验版生成模块,可以基于配置好的配置模块,确定第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元的参数配置,以便于根据用户制定需求发布对应的体验版小程序。如此,基于可持续化集成和部署的思想,通过基础的选项配置,就可以自动化构建、编译和打包小程序,并提交到小程序管理后台,极大地减少了人工干预的情况,降低了人为操作带来的风险,同时,提高了生成效率,确保了产出小程序的一致性。

在步骤11中,可以利用配置模块实现对自动化构建及发布的小程序工程化系统的三部分配置:工程化系统参数、环境代理信息以及三方依赖库信息。

实施时,上述工程化系统参数可以但不限于包括:代码分支信息、服务器环境信息、编译代码版本信息和代码设置信息。

其中,代码设置信息可以包括:是否开启ES6转ES5,是否开启增强编译,是否压缩JS代码,是否压缩WXML代码,是否压缩WXSS代码,是否开启代码保护,以及是否开启样式自动补全。

环境代理信息的配置主要是配置所使用的终端设备的本机代理、固定本机IP,以满足小程序管理后台的白名单要求。

三方依赖库信息的配置主要是通过软件包管理器初始化安装终端设备的依赖库。具体实施时,可以通过npm初始化安装本机的依赖库。其中,Node.js是一个开源与跨平台的JavaScript运行时环境,npm是Node.js是标准的软件包管理器。

在步骤12中,开发预览生成模块可以包括第一预编译单元、编译单元、预览生成单元、第一变更记录生成单元和第一通知单元。

实施时,第一预编译单元通过uni预编译器,将VUE代码编译为小程序代码,编译过程中使用配置模块的参数对代码进行动态处理,处理的方式可以但不限于是使用linux的sed指令。

编译单元可以通过使用小程序管理后台提供的CLI工具,通过miniprogram-ci指令,生成可执行的小程序。

预览生成单元可以用于将生成的静态图片上传至图床,生成可在线使用的二维码。具体实施时,可以采用定时任务刷新token的方式,保持一个可用的access_token,并通过此access_token上传图片,生成可用的在线图片。

第一变更记录生成单元可以通过解析gitlog历史动态生成,通过linux的grep和sed指令完成对变更记录的筛选。

第一通知单元可以通过邮件或者信息群组等方式触发对二维码和变更记录的推送。

步骤13中,体验版生成模块可以包括第二预编译单元、第二变更记录生成单元、编译及上传单元和第二通知单元。

实施时,第二编译单元与上述第一编译单元的执行过程类似,第二变更记录生成单元与上述第一变更记录生成单元的执行过程类似,第二通知单元与上述第一通知单元的执行过程类似。而编译及上传模块,可以使用小程序管理后台提供的CLI工具,通过upload指令,可以将可执行的小程序上传至小程序管理后台,在上传过程中,可以指定版本号、版本描述与上传者编号等信息。

本申请的实施例提供的方法,可以通过一套开源的可持续化集成部署系统jenkins来实现。Jenkins是一个用Java编写的开源的持续集成工具,通过添加可编写的指令和插件,能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能,还能用图表的形式,形象地展示项目构建的趋势和稳定性。基于此,本申请的方法可以通过工程化的方式,降低人工的参与度,提供可配置的选项,规避人工对代码的直接操作,降低风险。同时,通过系统自动化处理构建和部署的过程,不需要开发工具即可完成对小程序版本的构建和发布。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于模型缓存实现的离线仓库实时交互方法与系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!