一种自动化代码生成的方法技术

技术编号:38623214 阅读:9 留言:0更新日期:2023-08-31 18:26
本发明专利技术涉及计算机技术领域,公开了一种自动化代码生成的方法,包括如下步骤:S01、访问代码生成系统界面,用户通过界面选择数据库连接地址,数据库名称,要发布的服务器名称,输入项目名称以及访问域名;S02、输入模型名称,模型的字段名称,字段类型,是否索引,字段长度。本发明专利技术中,能自动化生成包含业务逻辑的系统代码,数据库结构,并能直接发布上线,而且支持二次修改,私有化部署,大大降低系统开发的时间和成本,本系统通过用户在客户端的界面操作和配置,生成业务逻辑代码,数据库表结构,对外接口,以及部署脚本,然后连接部署目标服务器,执行部署脚本,拉取代码,创建运行环境的容器,启动服务,然后达到发布上线的目的。然后达到发布上线的目的。然后达到发布上线的目的。

【技术实现步骤摘要】
一种自动化代码生成的方法


[0001]本专利技术涉及计算机
,具体为一种自动化代码生成的方法。

技术介绍

[0002]代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系,而计算机上的展示端页面是有代码生成的,其一是低代码平台,实现通过拖拽配置的方式实现展示端的页面生成,二是自动化发布平台CI/CD(Continuous Integration持续集成和Continuous Delivery持续交付),是指持续集成发布部署,是一套流程实现软件的构建测试部署的自动化,目前低代码平台主要是面向业务端非开发人员,CICD主要面向运维人员进行项目部署,低代码平台和CICD能够提高系统的开发和部署效率,让人们把精力更多聚焦在业务端,节省开发和部署的时间,缩短项目上线的周期,也大大节省企业数字化转型的时间成本和经济成本。
[0003]目前市场上的低代码平台主要面向的场景以简单业务场景为主,如无业务数据交互的H5展示,生成收集数据目的为主的表单页面,该类型产品存在的以下主要缺陷:
[0004]1、以页面展示和表单数据收集为主,无法实现复杂的数据交互;
[0005]2、该类型产品以SAAS(Software

as

a

Service)类型为主,无法实现私有化部署,或者私有化部署成本比较高,后期如果要实现代码修改也很困难;
[0006]3、该类型产品数据是留存在第三方平台,无法与其他自有系统打通,无法做数据沉淀,数据也存在安全风险;
[0007]4、CICD工具更多是面向系统开发完成后的测试和发布环节,缺少对开发环节的支持。

技术实现思路

[0008](一)解决的技术问题
[0009]针对现有技术的不足,本专利技术提供了一种自动化代码生成的方法,解决了
技术介绍
提出的问题。
[0010](二)技术方案
[0011]为实现上述目的,本专利技术提供如下技术方案:一种自动化代码生成的方法,包括如下步骤:
[0012]S01、访问代码生成系统界面,用户通过界面选择数据库连接地址,数据库名称,要发布的服务器名称,输入项目名称以及访问域名;
[0013]S02、输入模型名称,模型的字段名称,字段类型,是否索引,字段长度,是否外键关联其他模型;
[0014]S03、选择是否需要Redis缓存,是否有消息队列插件;
[0015]S04、选择是否有定时任务,配置定时任务执行时间;
[0016]S05、选择保存,可以将配置保存至数据库,下次访问继续编辑;
[0017]S06、点击生成,执行发布程序,先根据模型配置,生成数据库表结构;
[0018]S07、根据模型生成路由文件,视图文件和序列化文件,创建针对模型的接口功能,包括增删改查,以及字段搜索;
[0019]S08、根据用户配置,创建用JWT户权限校验代码;
[0020]S09、根据业务场景生成前端超文本标记语言,层叠样式表以及javascript代码;
[0021]S10、生成配置文件,创建数据库连接信息,缓存连接信息,消息队列连接信息,以及Nginx配置文件,将域名信息填入到Nginx配置文件中,配置静态文件路径到Nginx路由转发设置选项;
[0022]S11、生成DockerFile文件,创建程序所运行的依赖环境,也可以根据选择,直接使用镜像仓库里的镜像;
[0023]S12、将生成的代码提交至远程代码仓库,完成代码创建过程;
[0024]S13、以SSH协议访问需要部署的目标服务器,按照服务器操作系统类型,用wget/apt/yum方式安装Git,Docker和docker

compose;
[0025]S14、执行git pull命令拉取git仓库的代码;
[0026]S15、创建docker

compose.yml配置文件,以拉取的镜像生成容器,并配置端口号和宿主机磁盘映射;
[0027]S16、启动docker

compose,全部服务启动完成;
[0028]S17、如果用户需要调整代码,通过git仓库拉取到本地,修改之后提交到代码仓库,通过hook完成服务器更新代码和服务重启操作。
[0029]优选的,所述步骤S02中如果关联其他模型,选择对应的模型,以及关联的字段,如果是枚举类型,配置枚举字典,配置是否可搜索字段,可以选择默认的一些场景,来根据模版来生成模型,包括:文章,问答,文档下载,直播,会议,个人中心,积分商城。
[0030]优选的,所述步骤S06中数据库表结构包括字段类型,字段长度,是否索引,索引类型,外键约束关系。
[0031]一种自动化代码生成系统,包括客户端、服务端和部署目标服务器;
[0032]所述服务端的内部包括有代码仓库模块与镜像仓库模块;
[0033]所述代码仓库模块主要用于存储代码文件,记录代码的版本;
[0034]所述镜像仓库模块用来保存镜像文件以及镜像版本,服务器可以通过HTTPS协议从镜像仓库模块拉取镜像文件到服务器本地,并以联合文件系统方式存储;
[0035]所述部署目标服务器的内部包括有初始化模块和服务容器模块;
[0036]所述初始化模块用于提供用户配置生成参数的界面,作用是提供代码生成和服务部署的操作入口;
[0037]所述服务容器模块用来通过拉去到的镜像文件创建容器服务,并启动和运行应用程序服务。
[0038]优选的,所述部署目标服务器可以通过SSH协议以命令行方式从代码仓库拉取代码文件。
[0039]优选的,所述在初始化模块中用户在操作界面上完成配置以后,以HTTPS协议将配置参数传输给服务端代码生成系统,并将参数保存至数据库存储介质中。
[0040](三)有益效果
[0041]与现有技术对比,本专利技术具备以下有益效果:
[0042]1、本专利技术中,能自动化生成包含业务逻辑的系统代码,数据库结构,并能直接发布上线,而且支持二次修改,私有化部署,大大降低系统开发的时间和成本,本系统通过用户在客户端的界面操作和配置,生成业务逻辑代码,数据库表结构,对外接口,以及部署脚本,然后连接部署目标服务器,执行部署脚本,拉取代码,创建运行环境的容器,启动服务,然后达到发布上线的目的。
[0043]2、本专利技术中,通过配置模型关系生成数据库和表结构以及表之间关系,使用模版创建服务的配置文件,通过在目标服务器上执行脚本拉取生成的代码,创建服务容器,绑定域名,实现一键发布之后,即可创建一个可以直接访问的系统。
附图说明
[0044]图1为本专利技术的系统主结构框图;
[0045]图2为本专利技术的系统结构图;
[0046]图3为本专利技术的系统结构图;
[0047]图4为本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化代码生成的方法,其特征在于:包括如下步骤:S01、访问代码生成系统界面,用户通过界面选择数据库连接地址,数据库名称,要发布的服务器名称,输入项目名称以及访问域名;S02、输入模型名称,模型的字段名称,字段类型,是否索引,字段长度,是否外键关联其他模型;S03、选择是否需要Redis缓存,是否有消息队列插件;S04、选择是否有定时任务,配置定时任务执行时间;S05、选择保存,可以将配置保存至数据库,下次访问继续编辑;S06、点击生成,执行发布程序,先根据模型配置,生成数据库表结构;S07、根据模型生成路由文件,视图文件和序列化文件,创建针对模型的接口功能,包括增删改查,以及字段搜索;S08、根据用户配置,创建用JWT户权限校验代码;S09、根据业务场景生成前端超文本标记语言,层叠样式表以及javascript代码;S10、生成配置文件,创建数据库连接信息,缓存连接信息,消息队列连接信息,以及Nginx配置文件,将域名信息填入到Nginx配置文件中,配置静态文件路径到Nginx路由转发设置选项;S11、生成DockerFile文件,创建程序所运行的依赖环境,也可以根据选择,直接使用镜像仓库里的镜像;S12、将生成的代码提交至远程代码仓库,完成代码创建过程;S13、以SSH协议访问需要部署的目标服务器,按照服务器操作系统类型,用wget/apt/yum方式安装Git,Docker和docker

compose;S14、执行gitpull命令拉取git仓库的代码;S15、创建docker

compose.yml配置文件,以拉取的镜像生成容器,并配置端口号和宿主机磁盘映射;S16、启动docker
‑<...

【专利技术属性】
技术研发人员:乔明辉王培
申请(专利权)人:上海悦米信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1