CN115525296A - 一种多微信小程序多环境集成部署系统 - Google Patents

一种多微信小程序多环境集成部署系统 Download PDF

Info

Publication number
CN115525296A
CN115525296A CN202210892272.1A CN202210892272A CN115525296A CN 115525296 A CN115525296 A CN 115525296A CN 202210892272 A CN202210892272 A CN 202210892272A CN 115525296 A CN115525296 A CN 115525296A
Authority
CN
China
Prior art keywords
deployment
wechat
task
information
small program
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
CN202210892272.1A
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.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank 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 Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN202210892272.1A priority Critical patent/CN115525296A/zh
Publication of CN115525296A publication Critical patent/CN115525296A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明涉及微信小程序部署技术领域,尤其涉及一种多微信小程序多环境集成部署系统;本发明将多个微信小程序纳入同一自动分配序列,根据分支环境不同来分配腾讯CI机器人进行自动部署,优化了一个微信小程序一个运行环境需提供一个微信小程序账号来保证其运行的资源分配方式,提高了资源利用率,并将一系列人工部署操作进行自动化,即保证了部署代码的正确性,又提高了部署效率,极大的节约了生产、维护成本。

Description

一种多微信小程序多环境集成部署系统
技术领域
本发明涉及微信小程序部署技术领域,尤其涉及一种多微信小程序多环境集成部署系统。
背景技术
小程序是一种不需要下载安装即可使用的轻应用,通常依赖平台而存在,而微信小程序是依赖微信平台,在微信APP环境中运行的轻应用。在企业中要利用微信小程序来承载相关业务,需要完成微信小程序的开发、测试和上线,而这三个阶段运行微信小程序都需要依赖微信提供的微信小程序账号才能完成。一个微信小程序账号提供了AppID(账号ID)、AppSecret(账号密码)给开发者将本地微信小程序代码上传至微信开放平台的小程序账号里,上传成功的代码可以设置成开发版和体验版供测试在微信APP内运行。微信小程序内的所有业务也都离不开小程序账号和密码信息,因为微信小程序需要利用该账号与微信平台进行频繁的SDK或API交互。一个微信小程序账号可以提供90个开发者权限来生成90个不同版本的开发版供测试运行,但是需要90个开发人员管理和维护90个微信账号来进行小程序的部署工作。一个微信小程序账号只能提供一个体验版来供测试运行。
随着微信小程序内承载的大量业务的迭代更新,微信小程序需要安排在不同的时间不同的测试环境进行测试,以免代码和数据产生冲突,降低测试效率。
业内目前的技术方案是采取的每个环境分配一个微信小程序账号,每个环境提供一个体验版供测试使用,与微信平台进行SDK和API交互的系统在每个环境配置一套微信小程序账号和密码。分配同一上线窗口内的迭代代码到同一个环境,分配同一个微信小程序账号。采取开发手动构建的方式将代码上传至微信小程序账号里进行部署,效率低下。
以上方案在新增测试环境时,需要为每一个在该测试环境测试的微信小程序产品新增一个微信小程序账号来进行测试,同时在新增微信小程序产品时为这个产品在每个环境提供一个小程序账号来进行测试。微信小程序账号需要大量申请,浪费时间和资源,每个微信小程序账号是必需的,但是使用率极低。为避免新增微信小程序账号带来的问题,有解决方案是将当前临时未使用的已经分配到其他测试环境或者微信小程序产品的微信小程序账号切换到缺乏而正需要使用的测试环境进行使用。但是又会带来一个新的问题,所有与微信平台进行SDK和API交互的系统都需要更新微信小程序账号和密码信息,在大量复杂的业务场景中,配置的改动将会带来测试环境的重新调试,带来潜在的微信小程序无法正常运行风险。极大的降低效率,带来时间和人力成本。
发明内容
为了解决上述现有技术中存在的技术问题,本发明提供了一种多微信小程序多环境集成部署系统,拟解决一个微信小程序每个使用环境配置一个小程序账号带来资源利用率低下,人工操作部署配置流程效率低下的问题。
本发明采用的技术方案如下:
一种多微信小程序多环境集成部署系统,包括可配置的微信小程序仓库信息读取模块、路由组成信息获取模块、自动部署任务创建模块以及自动化部署模块;
所述可配置的微信小程序仓库信息读取模块用于读取需要进行自动部署的微信小程序以及该小程序的仓库信息,并将所述信息返回给客户端;用户基于返回的信息选择需要自动部署的微信小程序;
所述路由组成信息获取模块基于用户选择的微信小程序来获取微信小程序代码仓库的所有分支、代码运行环境以及微信小程序页面路径信息;并将获取到的信息返回给客户端;用户基于返回的仓库分支、代码运行环境以及页面路径信息确定仓库分支、代码运行环境以及页面路径,并输入参数后提交;
所述自动部署任务创建模块基于用户确定微信小程序、仓库分支、代码运行环境、页面路径以及输入的参数生成部署任务,并将所述部署任务添加到自动部署任务队列中,任务状态修改为排队中;
所述自动化部署模块获取自动部署任务队列中最早插入队列中的任务执行自动部署操作。
优选的,所述可配置的微信小程序仓库信息读取模块执行读取时的具体步骤如下所述:
配置MySQL数据库连接信息并连接微信小程序仓库信息所在的数据库;
连接成功后,查询配置在数据库里的微信小程序仓库信息,所述微信小程序仓库信息为可自动化部署的微信小程序代码所在Git服务器;
将所查询的可配置化的微信小程序以及其仓库信息返回给客户端,用户基于返回的信息选择需要进行部署的微信小程序;
查询历史自动化部署记录,将所查询的历史自动化部署记录返回给客户端,并且历史自动化部署记录实时刷新,记录最新的部署情况。
优选的,所述路由组成信息获取模块获取微信小程序代码仓库的所有分支、代码运行环境以及页面路径信息的具体获取步骤如下:
A.获取用户选择的微信小程序;
B.根据获取的微信小程序查询对应的微信小程序仓库信息;
C.在服务端生成临时的并且唯一的本地目录,进入所述本地目录,利用GIT工具拉取微信小程序代码到服务器本地;
D.基于所述本地目录,利用GIT工具获取微信小程序代码仓库所有分支;
E.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取运行环境;
F.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取页面路径信息;
G.将获取的所有分支、运行环境以及页面路径信息返回到客户端。
优选的,所述自动部署任务创建模块进行任务创建的具体步骤如下:
用户选择分支、运行环境以及页面路径并输入参数后提交;基于所提交的信息生成部署任务,并将所述部署任务存入数据库中,将所述部署任务的状态设置为排队中,最后返回客户端完成部署任务的创建。
优选的,所述自动化部署模块执行部署任务的具体步骤如下:
a.从自动部署任务队列取出最早插入队列的部署任务;
b.执行自动部署操作;
b1.将需要执行部署操作的部署任务的状态更新为构建中;
b2.基于用户所选分支切换仓库分支,并获取分支最新代码;
b3.基于用户所选环境,分配微信小程序访问网页的域名;
b4.配置腾讯CI自动部署证书;
b5.分配空闲CI机器人;
b6.配置微信小程序账号;
b7.设置默认路径和参数;
b8.腾讯CI接口upload编译上传;
b9.腾讯CI接口preview生成部署成功后的微信小程序运行二维码;
b10.完成b9后,更新部署任务的任务状态为查看成功,并在运行二维码失效后,释放CI机器人;若步骤b1到步骤b9任意一个步骤报错则更新任务状态为部署失败。
优选的,还包括定时清理维护模块,所述定时清理维护模块用于清理执行自动部署操作过程中所生成的临时文件以及临时文件中的文件;若自动部署操作的执行时间超过所设定的阈值时,则进行超时处理,更新任务状态为部署失败。
优选的,所述本地目录为本次自动部署任务的服务器资源,每个自动部署任务的服务器资源独立且唯一;所述自动部署任务为并发任务。
优选的,所述可配置化微信小程序仓库信息读取模块与路由组成信息获取模块,共同完成微信小程序到环境的路由关系输出,辅助路由自动化定向选择。
优选的,所述自动化部署模块持续从任务池中选定可动态伸缩数量的任务来执行;并且并发任务的数量伸缩根据服务器当前资源使用情况进行动态调整。
本发明的有益效果包括:
1、本发明实现了一个微信小程序账号来部署不同微信小程序以及不同环境的测试版本。
2、本发明的微信小程序测试版本生成流程自动化,创建了集成部署系统来自动部署不同微信小程序、不同代码仓库分支和不同环境的微信小程序版本。
3、微信小程序自动部署并发数量伸缩控制,根据当前服务器资源动态调整并发数量,来保证服务器正常运行。
4、本发明解决了行业内现有资源分配方案的资源利用率低下问题,极大的节约了因小程序账号申请带来的时间、配置维护、费用成本,提高了产品生产效率;并实现了自动集成部署系统对资源分配方案进行自动分配和部署,替代了以往的人工操作流程,极大的提高了部署效率,降低了差错概率,将部署成本缩减至零成本;并利用部署机器人进行并发性和唯一性控制,解决了部署版本的冲突问题,让不同版本的代码在同一个环境稳定运行。
附图说明
本发明将通过例子并参照附图的方式进行说明,其中:
图1为本发明的集成部署系统的整体架构图。
图2为本发明的集成部署操作界面图。
图3为本发明的多微信小程序多测试环境同一微信小程序账号资源分配方案图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图1到图3对本发明作进一步的详细说明:
参见附图1和附图2所示,一种多微信小程序多环境集成部署系统,包括可配置的微信小程序仓库信息读取模块、路由组成信息获取模块、自动部署任务创建模块、自动化部署模块以及定时清理维护模块;
所述可配置的微信小程序仓库信息读取模块用于读取需要进行自动部署的微信小程序以及该小程序的仓库信息,并将所述信息返回给客户端;用户基于返回的信息选择需要自动部署的微信小程序;
所述可配置的微信小程序仓库信息读取模块执行读取时的具体步骤如下所述:
配置MySQL数据库连接信息并连接微信小程序仓库信息所在的数据库;
连接成功后,查询配置在数据库里的微信小程序仓库信息,所述微信小程序仓库信息为可自动化部署的微信小程序代码所在Git服务器;
将所查询的可配置化的微信小程序以及其仓库信息返回给客户端,用户基于返回的信息选择需要进行部署的微信小程序;
查询历史自动化部署记录,将所查询的历史自动化部署记录返回给客户端,并且历史自动化部署记录实时刷新,记录最新的部署情况。
所述可配置化微信小程序仓库信息读取模块在执行完成微信小程序仓库信息的读取后,客户可以在如图2所示的项目选择栏中选择需要自动化部署的项目,在成功选择后就会触发路由组成信息获取模块;路由组成信息获取模块用于获取保证微信小程序正常运行的部署参数;仓库分支是同一微信小程序代码且不同运行窗口对应的不同代码版本,为保障不同时间段的微信小程序代码能够隔离运行,互不影响;
代码运行环境是短时间内需要承载微信小程序运行数据的独立环境,是为了保障不同时间段的微信小程序运行数据不会相互影响,也保证了同一时间段的冲突版本隔离运行数据,同步运行。
页面路径信息是针对于具有特殊场景,比如打开微信小程序时,需要携带一些提前预置的参数。
所述路由组成信息获取模块基于用户选择的微信小程序来获取微信小程序代码仓库的所有分支、代码运行环境以及微信小程序页面路径信息;并将获取到的信息返回给客户端;用户基于返回的仓库分支、代码运行环境以及页面路径信息确定仓库分支、代码运行环境以及页面路径,并输入参数后提交;
所述路由组成信息获取模块获取微信小程序代码仓库的所有分支、代码运行环境以及页面路径信息的具体获取步骤如下:
A.获取用户选择的微信小程序;
B.根据获取的微信小程序查询对应的微信小程序仓库信息;
C.在服务端生成临时的并且唯一的本地目录,进入所述本地目录,利用GIT工具拉取微信小程序代码到服务器本地;
D.基于所述本地目录,利用GIT工具获取微信小程序代码仓库所有分支;
E.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取运行环境;
F.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取页面路径信息;
G.将获取的所有仓库分支、运行环境以及页面路径信息返回到客户端。
以上执行流程涉及到版本冲突避免,在服务端生成的临时并且唯一的本地目录为分配给本次自动部署任务的服务器资源,每个自动部署任务资源独立且唯一,避免了不同自动部署任务资源共用的冲突。可配置化微信小程序仓库信息读取模块与上述流程中的步骤E,共同完成微信小程序到环境的路由配置输出,辅助路由自动化定向选择。所述自动部署任务为并发任务。
获取模块执行成功之后,用户可以在图2中的分支栏、环境栏、页面路径栏分别进行选择相应的分支环境,以及默认需要进入的页面路径,在参数栏对特殊场景的参数进行输入,并在提交之后,会触发自动部署任务的创建模块,该模块将记录用户的自动部署信息,包括微信小程序信息、仓库信息、仓库分支、代码运行环境、页面路径和参数等。以便成功的进行自动部署。
所述自动部署任务创建模块基于用户确定微信小程序、仓库分支、代码运行环境、页面路径以及输入的参数生成部署任务,并将所述部署任务添加到自动部署任务队列中,任务状态修改为排队中;
所述自动部署任务创建模块进行任务创建的具体步骤如下:
用户选择分支、运行环境以及页面路径并输入参数后提交;基于所提交的信息生成部署任务,并将所述部署任务存入数据库中,将所述部署任务的状态设置为排队中,最后返回客户端完成部署任务的创建。
所述自动化部署模块获取自动部署任务队列中最早插入队列中的任务执行自动部署操作。
所述自动化部署模块执行部署任务的具体步骤如下:
a.从自动部署任务队列取出最早插入队列的部署任务;
b.执行自动部署操作;
b1.将需要执行部署操作的部署任务的状态更新为构建中;
b2.基于用户所选分支切换仓库分支,并获取分支最新代码;
b3.基于用户所选环境,分配微信小程序访问网页的域名;
b4.配置腾讯CI自动部署证书;
b5.分配空闲CI机器人;
b6.配置微信小程序账号;
b7.设置默认路径和参数;
b8.腾讯CI接口upload编译上传;
b9.腾讯CI接口preview生成部署成功后的微信小程序运行二维码;
b10.完成b9后,更新部署任务的任务状态为查看成功,并在运行二维码失效后,释放CI机器人;若步骤b1到步骤b9任意一个步骤报错则更新任务状态为部署失败。
整个集成部署工具运行期间,会一直运行自动化部署模块,该自动化部署模块会从任务池中选定可动态伸缩数量的并发任务来执行。并发任务的数量伸缩根据服务器当前资源使用情况进行动态调整,以避免并发任务超过服务器负荷导致整个服务器崩溃。自动化部署模块时刻巡逻自动部署任务队列的情况,如果任务队列为空,则不执行任务操作,如果队列不为空,根据先进先出原则,取出最先插入队列的任务,进行自动部署。自动部署任务会执行定向路由选择,重新编译输出具有定向路由的代码资源进行部署。
集成部署任务时,机器人分配的原则是每个并发任务(自动部署任务为并发任务)独立拥有,所有已经成功且有效的任务,以及正在执行的任务不可有重复的机器人编号,当已经成功且有效的任务和正在执行的任务的数量过大,机器人数量不能满足时,部署任务会挂起,去执行机器人释放与新增算法。优先执行机器人释放,原则是释放已成功且已经失效的任务的机器人,如果短时间并发量较大,已经没有已成功且已经失效的任务的机器人可以释放,那么就从已成功还未失效且最先执行的任务强制释放分配给其的机器人。如果已成功的任务都是最近时间的,不可进行抢占,就要选择执行机器人新增,扩充微信小程序账号来增加机器人数量。如果在微信小程序账号只有一个的情况下,微信小程序账号分配给部署任务就是直接分配,在多个微信小程序账号时,就涉及到微信小程序的账号分配,优先根据配置定向分配给执行路由,如果没有配置就随机进行分配。
所述定时清理维护模块用于清理执行自动部署操作过程中所生成的临时文件以及临时文件中的文件;若自动部署操作的执行时间超过所设定的阈值时,则进行超时处理,更新任务状态为部署失败。
参见图3所示,不管是存量的n个测试环境,还是以后会扩展的n个测试环境,本方案分配的唯一微信小程序账号都能保证n个微信小程序的正常使用。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

Claims (9)

1.一种多微信小程序多环境集成部署系统,其特征在于,包括可配置的微信小程序仓库信息读取模块、路由组成信息获取模块、自动部署任务创建模块以及自动化部署模块;
所述可配置的微信小程序仓库信息读取模块用于读取需要进行自动部署的微信小程序以及该小程序的仓库信息,并将所述信息返回给客户端;用户基于返回的信息选择需要自动部署的微信小程序;
所述路由组成信息获取模块基于用户选择的微信小程序来获取微信小程序代码仓库的所有分支、代码运行环境以及微信小程序页面路径信息;并将获取到的信息返回给客户端;用户基于返回的仓库分支、代码运行环境以及页面路径信息确定仓库分支、代码运行环境以及页面路径,并输入参数后提交;
所述自动部署任务创建模块基于用户确定微信小程序、仓库分支、代码运行环境、页面路径以及输入的参数生成部署任务,并将所述部署任务添加到自动部署任务队列中,任务状态修改为排队中;
所述自动化部署模块获取自动部署任务队列中最早插入队列中的任务执行自动部署操作。
2.根据权利要求1所述的一种多微信小程序多环境集成部署系统,其特征在于,所述可配置的微信小程序仓库信息读取模块执行读取时的具体步骤如下所述:
配置MySQL数据库连接信息并连接微信小程序仓库信息所在的数据库;
连接成功后,查询配置在数据库里的微信小程序仓库信息,所述微信小程序仓库信息为可自动化部署的微信小程序代码所在Git服务器;
将所查询的可配置化的微信小程序以及其仓库信息返回给客户端,用户基于返回的信息选择需要进行部署的微信小程序;
查询历史自动化部署记录,将所查询的历史自动化部署记录返回给客户端,并且历史自动化部署记录实时刷新,记录最新的部署情况。
3.根据权利要求1所述的一种多微信小程序多环境集成部署系统,其特征在于,所述路由组成信息获取模块获取微信小程序代码仓库的所有分支、代码运行环境以及页面路径信息的具体获取步骤如下:
A.获取用户选择的微信小程序;
B.根据获取的微信小程序查询对应的微信小程序仓库信息;
C.在服务端生成临时的并且唯一的本地目录,进入所述本地目录,利用GIT工具拉取微信小程序代码到服务器本地;
D.基于所述本地目录,利用GIT工具获取微信小程序代码仓库所有分支;
E.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取运行环境;
F.基于所述本地目录,进入微信小程序代码路径,从代码文件中获取页面路径信息;
G.将获取的所有分支、运行环境以及页面路径信息返回到客户端。
4.根据权利要求1所述的一种多微信小程序多环境集成部署系统,其特征在于,所述自动部署任务创建模块进行任务创建的具体步骤如下:
用户选择分支、运行环境以及页面路径并输入参数后提交;基于所提交的信息生成部署任务,并将所述部署任务存入数据库中,将所述部署任务的状态设置为排队中,最后返回客户端完成部署任务的创建。
5.根据权利要求1所述的一种多微信小程序多环境集成部署系统,其特征在于,所述自动化部署模块执行部署任务的具体步骤如下:
a.从自动部署任务队列取出最早插入队列的部署任务;
b.执行自动部署操作;
b1.将需要执行部署操作的部署任务的状态更新为构建中;
b2.基于用户所选分支切换仓库分支,并获取分支最新代码;
b3.基于用户所选环境,分配微信小程序访问网页的域名;
b4.配置腾讯CI自动部署证书;
b5.分配空闲CI机器人;
b6.配置微信小程序账号;
b7.设置默认路径和参数;
b8.腾讯CI接口upload编译上传;
b9.腾讯CI接口preview生成部署成功后的微信小程序运行二维码;
b10.完成b9后,更新部署任务的任务状态为查看成功,并在运行二维码失效后,释放CI机器人;若步骤b1到步骤b9任意一个步骤报错则更新任务状态为部署失败。
6.根据权利要求1所述的一种多微信小程序多环境集成部署系统,其特征在于,还包括定时清理维护模块,所述定时清理维护模块用于清理执行自动部署操作过程中所生成的临时文件以及临时文件中的文件;若自动部署操作的执行时间超过所设定的阈值时,则进行超时处理,更新任务状态为部署失败。
7.根据权利要求3所述的一种多微信小程序多环境集成部署系统,其特征在于,所述本地目录为本次自动部署任务的服务器资源,每个自动部署任务的服务器资源独立且唯一;所述自动部署任务为并发任务。
8.根据权利要求3所述的一种多微信小程序多环境集成部署系统,其特征在于,所述可配置化微信小程序仓库信息读取模块与路由组成信息获取模块,共同完成微信小程序到环境的路由关系输出,辅助路由自动化定向选择。
9.根据权利要求5所述的一种多微信小程序多环境集成部署系统,其特征在于,所述自动化部署模块持续从任务池中选定可动态伸缩数量的任务来执行;并且并发任务的数量伸缩根据服务器当前资源使用情况进行动态调整。
CN202210892272.1A 2022-07-27 2022-07-27 一种多微信小程序多环境集成部署系统 Pending CN115525296A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210892272.1A CN115525296A (zh) 2022-07-27 2022-07-27 一种多微信小程序多环境集成部署系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210892272.1A CN115525296A (zh) 2022-07-27 2022-07-27 一种多微信小程序多环境集成部署系统

Publications (1)

Publication Number Publication Date
CN115525296A true CN115525296A (zh) 2022-12-27

Family

ID=84695885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210892272.1A Pending CN115525296A (zh) 2022-07-27 2022-07-27 一种多微信小程序多环境集成部署系统

Country Status (1)

Country Link
CN (1) CN115525296A (zh)

Similar Documents

Publication Publication Date Title
US11301287B2 (en) Pattern-based orchestration of cloud provisioning tasks at runtime
CN108829409B (zh) 一种分布式系统快速部署方法及系统
CN108229686B (zh) 模型训练、预测方法、装置、电子设备及机器学习平台
CN100426239C (zh) 依赖关系图参数范围的划分
US8893118B2 (en) Migratable unit based application migration
CN111580861A (zh) 用于计算机环境迁移的基于模式的人工智能计划器
US11138006B2 (en) Hybrid development systems and methods
US20070220509A1 (en) System and method for deploying software based on matching provisioning requirements and capabilities
US9898258B2 (en) Versioning of build environment information
CN109614325B (zh) 一种确定控件属性的方法及装置、电子设备和存储介质
CN105718307A (zh) 进程管理方法及进程管理装置
CN116569141A (zh) 工作流修补
Zúñiga-Prieto et al. Incremental integration of microservices in cloud applications
CN115525296A (zh) 一种多微信小程序多环境集成部署系统
CN116049000A (zh) 环境参数配置方法、装置、设备、存储介质及产品
CN114265595B (zh) 一种基于智能合约的云原生应用开发与部署系统和方法
CN112130962B (zh) 持续交付平台及利用持续交付平台部署应用系统的方法
CN111275389A (zh) 运维作业创建、管理方法和装置
CN109621406A (zh) 一种配置文件的生成方法和装置
CN108776618A (zh) 分布式工作流管理方法及装置
US11010154B2 (en) System and method for implementing complex patching micro service automation
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
CN109669672B (zh) 一种中性化版本构建、页面响应方法、系统及相关装置
CN113297081A (zh) 一种持续集成流水线的执行方法和装置
CN112214501A (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