CN113312040B - 低代码开发平台应用发布的实现方法及存储介质 - Google Patents

低代码开发平台应用发布的实现方法及存储介质 Download PDF

Info

Publication number
CN113312040B
CN113312040B CN202110660693.7A CN202110660693A CN113312040B CN 113312040 B CN113312040 B CN 113312040B CN 202110660693 A CN202110660693 A CN 202110660693A CN 113312040 B CN113312040 B CN 113312040B
Authority
CN
China
Prior art keywords
application
processor
interface
code
pipeline
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.)
Active
Application number
CN202110660693.7A
Other languages
English (en)
Other versions
CN113312040A (zh
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202110660693.7A priority Critical patent/CN113312040B/zh
Publication of CN113312040A publication Critical patent/CN113312040A/zh
Application granted granted Critical
Publication of CN113312040B publication Critical patent/CN113312040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • 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
    • 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/54Interprogram communication

Landscapes

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

Abstract

本发明公开了低代码开发平台应用发布的实现方法及存储介质,属于低代码开发技术领域,本发明要解决的技术问题为应用部署模式单一,采用的技术方案为:该方法具体如下:定义一个应用模板项目,应用模板项目包括应用构建打包、运行所需的框架、代码和基本配置;创建开发平台应用时,根据应用模板项目创建一个独自的项目;设计完成开发平台应用后,将生成的代码和配置合并到根据应用模板项目创建的项目中,形成一个包括设计内容且可构建及部署的项目;在项目中,定义应用发布处理器、托管处理器、构建处理器及流水线处理器,通过应用发布处理器管理托管处理器、构建处理器及流水线处理器,实现应用的代码托管、应用构建及应用部署。

Description

低代码开发平台应用发布的实现方法及存储介质
技术领域
本发明涉及低代码开发技术领域,具体地说是一种低代码开发平台应用发布的实现方法及存储介质。
背景技术
对生产力不断增长的需求正在提高业界对低代码开发平台的认识和采用,也促使了低代码开发技术和平台的发展。低代码开发平台提供交互式的工具,无需编码或者以少量的编码就可以生成应用,既降低了开发应用的门槛,也提高了开发应用的效率。
当前的低代码开发平台,基本上都提供了应用的一键发布功能,这种友好的、透明的方式屏蔽了传统应用上线中的部署环节,缩短了应用上线时间。不过,这种方式固化了应用的部署模式,无法进行本地化部署。
发明内容
本发明的技术任务是提供一种低代码开发平台应用发布的实现方法及存储介质,来解决应用部署模式单一的问题。
本发明的技术任务是按以下方式实现的,一种低代码开发平台应用发布的实现方法,该方法具体如下:
定义一个应用模板项目,应用模板项目包括应用构建打包、运行所需的框架、代码和基本配置;
创建开发平台应用时,根据应用模板项目创建一个独自的项目;
设计完成开发平台应用后,将生成的代码和配置合并到根据应用模板项目创建的项目中,形成一个包括设计内容且可构建及部署的项目;
在项目中,定义应用发布处理器、托管处理器、构建处理器及流水线处理器,通过应用发布处理器管理托管处理器、构建处理器及流水线处理器,实现应用的代码托管、应用构建及应用部署,进而提供应用发布的完整流程。
作为优选,所述应用发布处理器采用状态机将托管处理器、构建处理器和流水线处理器连接起来,应用发布处理器管理托管处理器、构建处理器和流水线处理器的成功或失败状态,并将失败的原因记录下来;
其中,托管处理器为构建处理器提供构建来源;构建处理器为流水线处理器提供流水线任务的数据来源。
更优地,所述托管处理器用于托管应用设计所生成的代码和配置,并实现版本管理,同时用于对接GitHub、Gitee和GitLab共有或私有代码托管平台。
更优地,所述托管处理器定义了应用代码托管的处理接口,根据应用代码托管的处理接口开发一个默认的实现,调用GitLab的项目管理接口及文件管理接口,实现应用源码在GitLab上的托管。
其中,应用代码托管的处理接口包括项目创建接口、项目修改接口及文件提交接口;其中,应用代码托管的处理接口IAppSourceCodeHosting、默认实现DefaultAppSourceHosting,工厂AppSourceHostingFactory管理并提供接口的默认实现。
更优地,所述构建处理器用于将应用代码构建为可部署的程序包,同时用于对接不同的代码构建平台。
更优地,所述构建处理器定义了应用构建的处理接口,根据应用构建的处理器接口开发一个默认的实现,调用代码构建平台的构建管理接口,实现源码的构建;再通过使用JDK、Maven和Docker,将源码构建为容器镜像;
其中,应用构建的处理接口包括构建的创建接口、构建的修改接口及构建的删除接口。
更优地,所述流水线处理器用于管理应用部署的相关任务,将应用自动化部署起来,同时用于对接不同的流水线平台。
更优地,所述流水线处理器定义了应用部署的处理接口,根据应用部署的处理接口开发一个默认的实现,调用流水线平台的流水线管理接口,实现自动化的构建、部署,再通过Jenkins执行应用构建和部署;
其中,应用部署的处理接口包括流水线的创建接口、流水线的修改接口、流水线的删除接口及流水线的运行接口。
更优地,所述应用发布处理器用于提供可视化发布流程,并根据状态记录实现对失败发布流程的重试。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如上述的低代码开发平台应用发布的实现方法。
本发明的低代码开发平台应用发布的实现方法及存储介质具有以下优点:
(一)本发明解决了应用部署模式单一的问题,满足本地化部署、个性化开发等需求,一定程度上提高应用发布的灵活性,为低代码开发平台应用发布的实现提供参考;
(二)本发明通过定义应用发布处理器,并对定义的托管处理器、构建处理器、流水线处理器进行管理,以实现应用发布的流程;
(三)本发明所定义的应用发布接口,可以提高应用的可控性,可以增加部署模式的多样性;
(四)本发明采用工厂模式的设计范式,定义了一套应用发布接口,使得低代码开发平台核心实现——应用开发与应用发布解耦,便于扩展;这套应用发布接口,包括接口、工厂类、默认实现类;其中,应用代码托管接口IAppSourceCodeHosting、默认实现DefaultAppSourceHosting,工厂AppSourceHostingFactory管理并提供接口的默认实现,应用构建处理接口和应用部署处理接口采用同样的方式;
(五)本发明的应用发布接口采用DevOps的思想,实现应用生命周期的自动化管;
(六)本发明通过模板项目简化应用创建时初始化的复杂度,通过应用设计内容和模板内容的合并形成应用发布的中间态,为应用的自定义修改提供了可能。
附图说明
下面结合附图对本发明进一步说明。
附图1为低代码开发平台应用发布的实现方法的示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的低代码开发平台应用发布的实现方法及存储介质作以下详细地说明。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
如附图1所示,本发明的低代码开发平台应用发布的实现方法,该方法具体如下:
S1、定义一个应用模板项目,应用模板项目包括应用构建打包、运行所需的框架、代码和基本配置;
S2、创建开发平台应用时,根据应用模板项目创建一个独自的项目;
S3、设计完成开发平台应用后,将生成的代码和配置合并到根据应用模板项目创建的项目中,形成一个包括设计内容且可构建及部署的项目;
S4、在项目中,定义应用发布处理器、托管处理器、构建处理器及流水线处理器,通过应用发布处理器管理托管处理器、构建处理器及流水线处理器,实现应用的代码托管、应用构建及应用部署,进而提供应用发布的完整流程。其中,托管处理器为构建处理器提供构建来源;构建处理器为流水线处理器提供流水线任务的数据来源。
本实施例中的应用发布处理器采用状态机将托管处理器、构建处理器和流水线处理器连接起来,应用发布处理器管理托管处理器、构建处理器和流水线处理器的成功或失败状态,并将失败的原因记录下来;其中,应用发布处理器用于提供可视化发布流程,并根据状态记录实现对失败发布流程的重试。
本实施例中的托管处理器用于托管应用设计所生成的代码和配置,并实现版本管理;通过托管处理器对接GitHub、Gitee和GitLab等共有或私有代码托管平台。托管处理器定义了应用代码托管的处理接口,根据应用代码托管的处理接口开发一个默认的实现,调用GitLab的项目管理接口及文件管理接口,实现应用源码在GitLab上的托管。其中,应用代码托管的处理接口包括项目创建接口、项目修改接口及文件提交接口;其中,应用代码托管的处理接口IAppSourceCodeHosting、默认实现DefaultAppSourceHosting,工厂AppSourceHostingFactory管理并提供接口的默认实现。
本实施例中的构建处理器用于将应用代码构建为可部署的程序包;通过构建处理器对接不同的代码构建平台。构建处理器定义了应用构建的处理接口,根据应用构建的处理器接口开发一个默认的实现,调用代码构建平台的构建管理接口,实现源码的构建;本发明通过使用JDK、Maven和Docker,将源码构建为容器镜像;其中,应用构建的处理接口包括构建的创建接口、构建的修改接口及构建的删除接口。
本实施例中的流水线处理器用于管理应用部署的相关任务,将应用自动化部署起来,通过流水线处理器对接不同的流水线平台。流水线处理器定义了应用部署的处理接口,根据应用部署的处理接口开发一个默认的实现,调用流水线平台的流水线管理接口,实现自动化的构建、部署,本发明通过Jenkins执行应用构建和部署;其中,应用部署的处理接口包括流水线的创建接口、流水线的修改接口、流水线的删除接口及流水线的运行接口。
实施例2:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的低代码开发平台应用发布的实现方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (2)

1.一种低代码开发平台应用发布的实现方法,其特征在于,该方法具体如下:
定义一个应用模板项目,应用模板项目包括应用构建打包、运行所需的框架、代码和基本配置;
创建开发平台应用时,根据应用模板项目创建一个独自的项目;
设计完成开发平台应用后,将生成的代码和配置合并到根据应用模板项目创建的项目中,形成一个包括设计内容且可构建及部署的项目;
在项目中,定义应用发布处理器、托管处理器、构建处理器及流水线处理器,通过应用发布处理器管理托管处理器、构建处理器及流水线处理器,实现应用的代码托管、应用构建及应用部署,进而提供应用发布的完整流程;
其中,应用发布处理器采用状态机将托管处理器、构建处理器和流水线处理器连接起来,应用发布处理器管理托管处理器、构建处理器和流水线处理器的成功或失败状态,并将失败的原因记录下来;托管处理器为构建处理器提供构建来源;构建处理器为流水线处理器提供流水线任务的数据来源;
托管处理器用于托管应用设计所生成的代码和配置,并实现版本管理,同时用于对接GitHub、Gitee和GitLab共有或私有代码托管平台;托管处理器定义了应用代码托管的处理接口,根据应用代码托管的处理接口开发一个默认的实现,调用GitLab的项目管理接口及文件管理接口,实现应用源码在GitLab上的托管;应用代码托管的处理接口包括项目创建接口、项目修改接口及文件提交接口;其中,应用代码托管的处理接口IAppSourceCodeHosting、默认实现DefaultAppSourceHosting,工厂AppSourceHostingFactory管理并提供接口的默认实现;
构建处理器用于将应用代码构建为可部署的程序包,同时用于对接不同的代码构建平台;构建处理器定义了应用构建的处理接口,根据应用构建的处理器接口开发一个默认的实现,调用代码构建平台的构建管理接口,实现源码的构建;再通过使用JDK、Maven和Docker,将源码构建为容器镜像;应用构建的处理接口包括构建的创建接口、构建的修改接口及构建的删除接口;
流水线处理器用于管理应用部署的相关任务,将应用自动化部署起来,同时用于对接不同的流水线平台;流水线处理器定义了应用部署的处理接口,根据应用部署的处理接口开发一个默认的实现,调用流水线平台的流水线管理接口,实现自动化的构建、部署,再通过Jenkins执行应用构建和部署;应用部署的处理接口包括流水线的创建接口、流水线的修改接口、流水线的删除接口及流水线的运行接口;
应用发布处理器用于提供可视化发布流程,并根据状态记录实现对失败发布流程的重试。
2.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如权利要求1所述的低代码开发平台应用发布的实现方法。
CN202110660693.7A 2021-06-15 2021-06-15 低代码开发平台应用发布的实现方法及存储介质 Active CN113312040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110660693.7A CN113312040B (zh) 2021-06-15 2021-06-15 低代码开发平台应用发布的实现方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110660693.7A CN113312040B (zh) 2021-06-15 2021-06-15 低代码开发平台应用发布的实现方法及存储介质

Publications (2)

Publication Number Publication Date
CN113312040A CN113312040A (zh) 2021-08-27
CN113312040B true CN113312040B (zh) 2022-09-27

Family

ID=77378737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110660693.7A Active CN113312040B (zh) 2021-06-15 2021-06-15 低代码开发平台应用发布的实现方法及存储介质

Country Status (1)

Country Link
CN (1) CN113312040B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301338A (zh) * 2013-07-16 2015-01-21 苏州精易会信息技术有限公司 基于云平台的应用系统自动部署方法
CN109240654A (zh) * 2018-07-24 2019-01-18 武汉空心科技有限公司 基于模板的开发方法及系统
CN109522025A (zh) * 2018-10-30 2019-03-26 深圳市小赢信息技术有限责任公司 一种基于git的代码发布系统
CN109614108A (zh) * 2018-10-31 2019-04-12 武汉艺果互动科技股份有限公司 一种基于Docker的项目自动化部署方法、设备及存储设备
CN109725911A (zh) * 2017-10-31 2019-05-07 北京国双科技有限公司 一种多环境项目部署方法、装置、存储介质及处理器
CN112162761A (zh) * 2020-10-14 2021-01-01 广州欢网科技有限责任公司 自动化部署项目至公有云容器化平台的方法、系统及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245047B2 (en) * 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US9183124B2 (en) * 2011-04-18 2015-11-10 Accenture Global Services Limited Automation controller for next generation testing system
EP2927826B1 (en) * 2014-04-04 2022-06-29 Avid Technology, Inc. Method of consolidating, synchronizing, and streaming production content for distributed editing of media compositions
US9800911B2 (en) * 2015-06-26 2017-10-24 Intel Corporation Technologies for selective content licensing and secure playback
US10445086B2 (en) * 2017-09-28 2019-10-15 At&T Intellectual Property I, L.P. Virtualization platform for creating, deploying, modifying, and relocating applications
US10613970B1 (en) * 2018-08-31 2020-04-07 Intuit Inc. Method and system for managing deployment of software application components based on software performance data
US11315133B2 (en) * 2019-01-30 2022-04-26 Capital One Services, Llc System and method for minimizing latency in data consumption system
US10936309B2 (en) * 2019-04-03 2021-03-02 Accenture Global Solutions Limited Development project blueprint and package generation
US11467951B2 (en) * 2019-11-06 2022-10-11 Jpmorgan Chase Bank, N.A. System and method for implementing mainframe continuous integration continuous development

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301338A (zh) * 2013-07-16 2015-01-21 苏州精易会信息技术有限公司 基于云平台的应用系统自动部署方法
CN109725911A (zh) * 2017-10-31 2019-05-07 北京国双科技有限公司 一种多环境项目部署方法、装置、存储介质及处理器
CN109240654A (zh) * 2018-07-24 2019-01-18 武汉空心科技有限公司 基于模板的开发方法及系统
CN109522025A (zh) * 2018-10-30 2019-03-26 深圳市小赢信息技术有限责任公司 一种基于git的代码发布系统
CN109614108A (zh) * 2018-10-31 2019-04-12 武汉艺果互动科技股份有限公司 一种基于Docker的项目自动化部署方法、设备及存储设备
CN112162761A (zh) * 2020-10-14 2021-01-01 广州欢网科技有限责任公司 自动化部署项目至公有云容器化平台的方法、系统及设备

Also Published As

Publication number Publication date
CN113312040A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
US8601433B2 (en) Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using the platform
CN109684057B (zh) 任务处理方法、装置和存储介质
CN106598650A (zh) 基于光纤通信的fpga程序在线升级的装置及方法
CN109189451A (zh) 一种固件升级方法及装置
CN111881102A (zh) 基于aop切面采集审计日志的方法、装置及可读介质
CN107632846A (zh) 固件升级方法及装置、机框管理模块
CN108134690B (zh) 网络业务部署流程控制方法、装置及系统
CN109840117A (zh) 训练模型的实现方法、设备以及存储介质
US9720404B2 (en) Gateway offering logical model mapped to independent underlying networks
US7426715B2 (en) Shutting down a plurality of software components in an ordered sequence
CN113312040B (zh) 低代码开发平台应用发布的实现方法及存储介质
CN105760208A (zh) 计算机程序编译方法及装置
KR102106449B1 (ko) 함수 결함을 복구하는 방법, 장치 및 서버
CN103377405A (zh) 部署和修改面向服务架构部署环境模型的方法和系统
CN111338652B (zh) 一种操作系统镜像制作方法、装置和设备及介质
CN110784353B (zh) 网元设备配置数据迁移方法及装置
US8245190B2 (en) First and second manager components that communicate to initialize and/or shut down software components in an ordered sequence
US20130111454A1 (en) Technique for updating program being executed
EP3316518A1 (en) Method and device for upgrading virtual network element, and computer storage medium
KR20210004288A (ko) 전자장치 및 그 제어방법
CN113312003B (zh) 一种基于Go语言的物理裸机磁盘存储管理方法
CN113810402B (zh) 多协议适配方法和系统,计算机设备,存储介质
CN114416305A (zh) 一种机器人引擎实现方法、系统及电子设备
CN114090172A (zh) 跨系统的小部件复用方法及装置
CN111752627A (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
GR01 Patent grant
GR01 Patent grant