CN111475183A - django项目部署方法、装置、计算机设备及存储介质 - Google Patents
django项目部署方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111475183A CN111475183A CN202010150185.XA CN202010150185A CN111475183A CN 111475183 A CN111475183 A CN 111475183A CN 202010150185 A CN202010150185 A CN 202010150185A CN 111475183 A CN111475183 A CN 111475183A
- Authority
- CN
- China
- Prior art keywords
- configuration
- server
- system environment
- computer
- mismatch
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种django项目部署方法、装置、计算机设备及存储介质,涉及计算机技术领域。该方法包括分别获取内置的系统环境配置与上线服务器的服务器对接配置,通过预设的py/uw测试模组检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置;通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置;根据失配配置与缺失配置对系统环境配置进行对应的修改,以实现httppost接口的部署;最后将新版本数据上传至上线服务器,将新版本数据置换旧版本数据,实现了快速将django项目的新版本数据上传至上线服务器。
Description
技术领域
本申请涉及计算机技术领域,特别是一种django项目部署方法、装置、计算机设备及存储介质。
背景技术
Django是一个开放源代码的Web应用框架,其采用MTV的框架模式,即模型(model),视图(views)和模版(template),通过django提供对设计者友好的模板语言、优质的URL设计以及完美的管理界面,使django已然成为python语言所流行的web服务器框架,用于快速的实现中小型网站的开发与上线;
而目前django的工作机制是:
1、用django启动应用(manage.Py runserver)启动Django服务器,并载入在同一目录下的settings.py文件。该文件包含了项目中的配置信息,如连接配置(URLConf)等,其中最重要的配置就是ROOT_URLCONF,其确定一个Python模块作为本站的URLConf;
2、当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf;
3、然后按顺序逐个匹配URLConf里的url模式(URLpatterns),如果找到则会调用相关联的视图函数,并把网页请求(httprequest)对象作为第一个参数;
4、最后该视图函数负责返回一个网页响应(HttpResponse)对象;
但上述django的工作机制具有如下弊端:
弊端1:需要人工的对所述配置信息进行相应的参数配置,而后逐一将所述配置信息安装至python及其依赖包中,并压缩;
弊端2:需要人工将压缩后的python及其依赖包上传至服务器,考虑到办公网络存在防火墙,因此在上传的过程中需要通过堡垒机多次传输;
综上所述,目前的django配置过程因需人工处理而费时费力,并且不能支持快速的线上应用部署。
发明内容
本申请实施例为解决的上述技术问题,提供一种django项目部署方法、装置、计算机设备及存储介质,实现自动化参数配置与python和依赖包的安装与压缩,并摒弃堡垒机上传数据的方式以提升数据上传速度。
为了解决上述技术问题,本申请实施例所述的一种django项目部署方法,采用了如下所述的技术方案:
一种django项目部署方法,包括:
分别获取内置的系统环境配置与上线服务器的服务器对接配置,所述系统环境配置为计算机设备与外部设备对接的配置环境,所述服务器对接配置为上线服务器与外部设备对接的配置环境;
通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,所述失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置;
根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
获取新版本数据,并依赖部署完毕的所述httppost接口将所述新版本数据上传至所述上线服务器,将所述新版本数据置换旧版本数据。
本申请提出一种django项目部署装置,包括:
获取单元,分别获取内置的系统环境配置与上线服务器的服务器对接配置,所述系统环境配置为计算机设备与外部设备对接的配置环境,所述服务器对接配置为上线服务器与外部设备对接的配置环境;
检测单元,通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,所述失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
调取单元,通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置;
对接单元,根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
上传单元,获取新版本数据,并依赖部署完毕的所述httppost接口将所述新版本数据上传至所述上线服务器,将所述新版本数据置换旧版本数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项技术方案所述的django项目部署方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项技术方案所述的django项目部署方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
采用计算机设备首先分别获取内置的系统环境配置与上线服务器的服务器对接配置,再通过预设的py/uw测试模组检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,从而计算机设备识别确定出与上线服务器对接所不具备的失配配置与缺失配置;随后,计算机设备通过从上线服务器中调取失配配置和/或缺失配置,并根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署,以使计算机设备与上线服务器对接部署,实现了计算机设备与上线服务器的接口自动化对接,避免不必要的人工参数配置和出现误差,摒弃以往的堡垒机数据上传方式,提升数据上传效率,最终计算机设备通过获取新版本数据,并依赖部署完毕的httppost接口将新版本数据上传至上线服务器,将新版本数据置换旧版本数据,实现了快速将django项目的新版本数据上传至上线服务器的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例可以应用于其中的示例性系统架构图;
图2为本申请实施例中所述django项目部署方法的第一实施例的流程图;
图3为图2中步骤S2的一种具体实施方式的流程图;
图4为图2中步骤S4之后的一种具体实施方式的流程图;
图5为本申请实施例中所述django项目部署装置的一个实施例的结构示意图;
图6为本申请实施例中计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的相关附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的django项目部署方法一般由服务器/终端设备执行,相应地,django项目部署装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本申请提出的django项目部署方法的执行主体为计算机设备,计算机设备通过python的django框架实现将django项目数据快速高效部署于上线服务器。
继续参考图2,示出了本申请实施例中django项目部署方法的一个实施例的流程图。django项目部署方法,包括以下步骤:
S1,分别获取内置的系统环境配置与上线服务器的服务器对接配置,系统环境配置为计算机设备与外部设备对接的配置环境,服务器对接配置为上线服务器与外部设备对接的配置环境;
当计算机设备接收到用户输入的django部署指令时,分别获取内置的系统环境配置与上线服务器的服务器对接配置,上述的django部署指令为用户向计算机设备输入的用于启动django部署的指令。
S2,通过预设的py/uw测试模组检测检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
上述的py/uw测试模组是用于分别测试计算机设备与上线服务器的Python框架与uwsgi框架的命令执行的测试模组。计算机设备获取到系统环境配置与服务器对接配置之后,调取预安装于计算机设备中的py/uw测试模组,随后,计算机设备通过py/uw测试模组检测系统环境配置与上线服务器配置参数不对应的失配配置,和/或检测上线服务器具有但计算机设备不具有的缺失配置,py/uw测试模组的检测过程具体为:
参考附图3,为附图2中步骤S2的一种具体实施方式流程图;
S21,分别从计算机设备和上线服务器的django框架代码存储层中获取系统环境配置与服务器对接配置对应的第一代码文本与第二代码文本;
计算机设备和上线服务器均具有django框架代码存储层,django框架代码存储层中记录有用于与外部设备对接的配置选项框、django项目执行等代码,py/uw测试模组可通过软接口的方式去定位系统环境配置与上线服务器配置的配置选项框,从而得到第一代码文本与第二代码文本,即如:py/uw测试模组调取预设的第一http下载路由和第二http下载路由,将第一http下载路由输出至计算机设备,使计算机设备下载某一预设文件,在此期间定位出计算机设备与互联网响应的系统环境配置的计算机设备配置选项框,同理,py/uw测试模组将第二http下载路由输出至上线服务器,以定位到服务器配置选项框,最终分别从计算机设备和上线服务器的django框架代码存储层中获取第一代码文本与第二代码文本。
S22,识别第二代码文本中用于进行django部署的服务器选项框的标签代码;
在代码存储层中每一个配置选项框均具有一一对应的代码,如html盒子模型中的Div_1、Div_2,即视为标签代码。
S23,根据标签代码,判断是否能够从第一代码文本中定位出系统环境配置中用于进行django部署的计算机选项框;
S241,若能从所述第一代码文本中定位出计算机选项框,则分别获取并对比所述服务器选项框与计算机选项框中的配置参数,并在所述服务器选项框与计算机选项框中的配置参数不匹配时,标记所述计算机选项框中的配置参数为失配配置;
S242,若不能从第一代码文本中定位出计算机选项框,则标记标签代码,并根据标记以标注系统环境配置具有缺失配置。
通过计算机设备获取到系统环境配置与服务器对接配置的第一代码文本与第二代码文本,实现计算机设备分别得到系统环境配置与服务器对接配置的代码文本,计算机设备通过第二代码文本中的用于进行django部署的服务器选项框的代码文本作为标签代码,能够精准的从第一代码文本中定位到对应的计算机选项框,若不能通过标签代码定位计算机选项框,则标记该标签代码,以根据标记的标签代码以标注系统环境配置中具有缺失配置,若对比计算机选项框与服务器选项框中的参数不对应,则认定计算机选项框中不对应的参数为失配配置,最终计算机设备精准、完整的确定出当前系统环境配置需要与上线服务器对接所不具有的失配配置和/或缺失配置。
S3,通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置;
根据上述步骤S21至S241/S242,计算机设备已通过py/uw测试模组获取到当前系统环境配置与上线服务器对接所不具备的失配配置与缺失配置,上述预设的数据调取方法如下:
调取失配配置:
将计算机选项框(以下简称第一配置选项框)与服务器选项框(以下简称第二配置选项框)进行对标,对标的路径为上述标签代码,例如:第二配置选项框的标签代码为Div_1,则根据若干第一配置选项框的标签代码匹配出与Div_1相同的标签代码,从而实现第一配置选项框与第二配置选项框对标;获取第二配置选项框中的配置参数,以实现失配配置的数据调取。
调取缺失配置;
在计算机设备的系统环境配置的代码存储层中,创建与第二配置选项框的标签代码一致标签代码的第一虚拟选项框,因为第一虚拟选项框与第二配置选项框的标签代码一致而实现对标;计算机设备获取与第一虚拟选项框对标的第二配置选项框中的配置参数,以实现缺失配置的数据调取。
S4,根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
计算机设备根据失配配置与缺失配置对系统环境配置进行对应的修改的步骤如下:
将失配配置的参数录入至对应的计算机选项框中;
创建第一虚拟选项框,将缺失配置的参数录入至第一虚拟选项框中,并将第一虚拟选项框标注为用于django部署的系统环境配置。
当计算机设备获取到适配配置和/或缺失配置后,对计算机设备的原系统环境配置进行修改;根据采用标签代码的第一配置选项框与第二配置选项框的对标,将调取到的第二配置选项框中的失配配置的参数录入至第一配置选项框,从而实现系统环境配置的失配配置的修改;同理,根据采用标签代码的第一虚拟选项框与第二配置选项框的对标,将调取到的第二配置选项框中的缺失配置的参数录入至第一虚拟选项框,从而实现系统环境配置的缺失配置的修改;最终,通过修改后的系统环境配置,建立计算机设备与上线服务器的httppost接口,以实现httppost接口的部署。
上述httppost接口是以httppost方式调用的接口,通过该接口实现计算机设备与上线服务器的对接,摒弃了以往堡垒机的传输方式,提升数据传输效率。
其中,在将失配配置的参数录入至对应的计算机选项框中的步骤包括:
确定出部署有必要配置参数的计算机选项框;
当失配配置的参数与必要配置参数不相同时,建立第二虚拟选项框,将失配配置的参数部署于第二虚拟选项框中,并关联第二虚拟选项框和部署有必要配置参数的计算机选项框。
具体的,计算机设备的系统环境配置中存在一部分需要载入必要配置参数的第一配置选项框,以保证本机的运行,而第二配置选项框中的失配配置的参数与这一部分不对应,这样就会导致在将失配配置的参数录入至对标的第一配置选项框时出现两个配置参数,从而出现不兼容问题,因此提出部署方式:
根据计算机设备的正常运行确定出部署有必要配置参数的第一配置选项框,创建与第一配置选项框相同标签代码的第二虚拟选项框,将冲突的失配配置的参数录入与新创建的第二虚拟选项框中,并根据标签代码将第二虚拟选项框与第一选项框相关联,使第二虚拟选项框与第一选项框的url路径相同,实现通过受冲突的第一配置选项框运行计算机设备本机的工作,而当对接上线服务器时,通过第二虚拟选项框的对接,实现计算机设备向上线服务器上传数据。
计算机设备通过将第一选项框与新建的第二虚拟选项框进行对标关联,使得计算机设备能够保证本机的自身运行,同时还能够有效的与上线服务器建立对接,防止了计算机设备中系统环境配置所必要配置参数与待部署于必要配置参数相同选项框的失配配置的冲突问题。
S5,获取新版本数据,并依赖部署完毕的httppost接口将新版本数据上传至上线服务器,将新版本数据置换旧版本数据。
当计算机设备与上线服务器对应的配置选项框中配置参数相匹配,则实现httppost方式的接口部署,计算机设备通过接口将django项目的新版本数据传输至上线服务器,最终实现上线服务器的django项目的迭代。
计算机设备将django项目上传至上线服务器的方法:计算机设备根据旧版本数据的url路径将django项目的新版本数据将原版本数据替换,并存储原版本数据至NAS存储卷上,从而实现django项目的新版本数据上传。
在一个实施例中,根据上述步骤S5可知,计算机设备根据旧版本数据的url路径将django项目的新版本数据将原版本数据替换,并存储原版本数据至NAS存储卷上,从而实现django项目的新版本数据上传,进一步,根据新版本数据中的url_conf文件的历史部署信息定位到旧版本的文件夹,并通过tar解压新版本的代码包和数据,将旧版本归档到NAS存储卷上以便后续回滚部署,无需人工干预,实现自动替换新版本数据。
在一个实施例中,py/uw测试模组包括多元线性回归模型,通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置的步骤,还包括:
多元线性回归模型执行数据调取方法,采用预设于多元线性回归模型中的多元线性回归算法从上线服务器中确定并调取失配配置和/或缺失配置。
通过上述步骤S21至S241/S242,计算机设备通过py/uw测试模组确定计算机设备中系统环境配置不具备对接上线服务器的失配配置和/或缺失配置,而具体从上线服务器确定并调取失配配置和缺失配置的方式是,采用配置于py/uw测试模组中多元线性回归模型,以根据多元线性回归模型中的多元线性回归算法从上线服务器确定并调取失配配置和缺失配置,具体多元线性回归算法为:
上述多元线性回归模型是用于确定上线服务器中所有的服务器配置参数,并从所有服务器配置参数中筛选出与计算机设备相关的失配配置和缺失配置的模型,上述,D1、D2、...、Dn为失配配置或缺失配置;1为服务器对接配置的url路径,Va1、Va2、...、Van为各个服务器选项框中的变量名,Rv1、Rv2、...、Rvn为各个服务器选项框中的变量值,V1、V2、...、Vn为各个服务器选项框对应的视图层;C1、C2、...、Cn为各个计算机选项框的条件语句,Url1、Url2、...、Urln为各个计算机选项框的url路由,“X”为关联符,其中,条件语句为预设于多元线性回归模型中防止计算机选项框与服务器选项框的配置参数发生冲突的条件语句。
调取失配配置与缺失配置时存在的问题:因为考虑到计算机设备的第一配置选项框需要录入必要配置参数以保证当前本机的运行,而通过上述数据调取方法从上线服务器中定位第二配置选项框,以调取配置参数,将该配置参数录入至计算机设备的第一配置选项框中,以覆盖第一配置选项框中的必要配置参数,存在导致计算机设备崩溃的风险。
为解决上述失配配置与原系统环境配置冲突的问题,采用多元线性回归算法定位出冲突的失配配置,具体方式例如:
将上线服务器用于对接的所有的第二配置选项框的配置参数添加于[1、Va、Rv、V]中,其中的[1]为各第二配置选项框的url路径,因为各第二配置选项框均是用于与外部设备对接,故url路径一致,即标注为[1],Va1、Va2、...、Van为各第二配置选项框中记载的变量名,Rv1、Rv2、...、Rvn为各第二配置选项框中记载的变量值,V1、V2、...、Vn为各第二配置选项框对应的视图层,因为上线服务器的django框架中应当具有具有多个视图层以供后期用户查看与交互(视图层是用于调用出显示图以提供用户查看的django数据层),因此会有若干第二配置选项框及对应的配置参数,故以“n”表示,然后根据[url类]的url路由关联出计算机设备的配置参数的位置,由上述可知,该[url类]的url路由可以是代码文本;可以理解,上线服务器具有“n”条第二选项框对应的配置参数,其每个配置参数对应一视图层,而计算机设备没有与其对应的视图层数量,即视为计算机设备具有缺失配置,则计算机设备会自行创建配置选项框,使[url]与[1、Va、Rv、V]一一对应,并获得上线服务器具有但计算机设备不具有的缺失配置[D],并调取该缺失配置[D]中的[Va]变量名和[Rv]变量值录入至自行创建的第一虚拟配置选项框中。
计算机设备比对[1、Va、Rv、V]与计算机设备[url]关联的第一配置选项框中的配置参数是否一致,导出其中不一致的项作为失配配置[D],将失配配置[D]的[Va]变量名和[Rv]变量值录入至计算机设备的第一配置选项框中。
当第一配置选项框中具有必要配置的必要配置参数时,若该条件语句[C]的必要配置参数与对应位置的第二配置选项框中的失配配置的参数[Va、Rv]不一致时,则会产生冲突,此时计算机设备重新建立一个新[url]关联一个第二虚拟选项框,并将该新建立的[url类]与产生冲突的[1、Va、Rv、V]关联(即URLn+1与产生冲突的[1、Va、Rv、V]关联),最终,将冲突的[Va、Rv、V]录入至第二虚拟选项框。
因为将第二虚拟选项框与第一选项框相关联,使第二虚拟选项框与第一选项框的url路径相同,实现通过受冲突的第一选项框运行计算机设备本机的工作,而当对接上线服务器时,通过第二虚拟选项框的对接,实现计算机设备向上线服务器上传数据;
当计算机设备的第一配置选项框中具有必须配置的配置参数时,若该配置参数与对应位置的上线服务器第二配置选项框中的配置参数[1、Va、Rv、V]不一致,则会产生冲突,此时计算机设备会重新建立一个第二虚拟选项框;通过将第二选项框的失配配置录入该第二虚拟选项框中,以避免配置冲突;进一步地,通过httppost接口将新版本数据上传至上线服务器的步骤之后,删除第二虚拟选项框。
参考附图4,为本申请一种django项目部署方法的一个实施例的流程示意图,根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署的的步骤S3之后,包括:
S31,将至少一个URL路径加载至计算机设备和上线服务器的python框架和uwsgi框架中;
S32,使用Python内置的urllib库分别发送http请求至python框架与uwsgi框架,以获取python框架与uwsgi框架与URL路径对应的html文件;
S33,使用Python的BeautifulSoup库解析并判断html文件是否有效;
S341,若有效,则确定计算机设备与上线服务器对接部署正常。
上述步骤S31中的URL路径加载是通过在程序交互时直接输入URL或者导入保存URL的文件实现;步骤S32中,使用计算机设备的Python框架内置的urllib库,发送HTTP请求至URL并返回html文件,上述的urllib库的作用是发送请求至计算机设备和上线服务器,然后获取视图层反馈的html文件;步骤S33中,使用Python的BeautifulSoup库,解析上述html文件,最终通过判断html文件是否有效以确定计算机设备与上线服务器的接口部署是否正常。
在具体实施时,例如:
载入http://www.asdxdsle.com/auth/f12345wd.html,该URL对应的交互是进行重置密码,然后发送HTTP请求,作用是计算机设备获取到URL路径,此处利用上线服务器的urllib库,接收反馈的html文件,获取到html文件后,利用计算机设备python的BeautifulSoup库将html文件转换为视图层数据,最终以识别该视图层数据的html文件是否为重置密码的操作,若是则确定计算机设备与上线服务器对接部署正常,反之,则为步骤S342,对接部署异常,从而实现计算机设备与上线服务器httppost接口对接后的检测,有效的保证了上传django项目时的接口正常。
在一个实施例中,将新版本数据置换旧版本数据的步骤之后包括:
试运行新版本数据,判断是否存在bug;
若是,则自动收集bug上下文信息,并提交至bug数据库;
从存储旧版本数据的NAS存储卷中调取旧版本数据进行回滚处理。
在预设的时间内,试运行新版本数据,在运行的过程中,检测是否出现闪退、显示的视图层乱码等bug问题,若是,则自动收集Bug上下文信息并将当前收集到的Bug上下文信息作为Bug信息提交到Bug数据库,以便于程序工作者通过bug数据库处理bug;若检测到新版本数据存在bug,在计算机设备从NAS存储卷中调取原版本数据,进行回滚,以使上线服务器恢复原来的旧版本数据,以保证上线服务器运行正常。
进一步参考图5,图5示出了为本申请实施例中django项目部署装置的一个实施例的结构示意图。作为对上述图2所示方法的实现,本申请提供了一种django项目部署装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的django项目部署装置包括:
获取单元1,分别获取内置的系统环境配置与上线服务器的服务器对接配置,所述系统环境配置为计算机设备与外部设备对接的配置环境,所述服务器对接配置为上线服务器与外部设备对接的配置环境;
检测单元2,通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,所述失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
上述的py/uw测试模组是用于分别测试计算机设备与上线服务器的Python框架与uwsgi框架的命令执行的测试模组。计算机设备获取到系统环境配置与服务器对接配置之后,调取预安装于计算机设备中的py/uw测试模组,随后,计算机设备通过py/uw测试模组检测系统环境配置与上线服务器配置参数不对应的失配配置,和/或检测上线服务器具有但计算机设备不具有的缺失配置。
上述检测单元包括:
代码获取模块,用于分别从计算机设备和上线服务器的django框架代码存储层中获取系统环境配置与服务器对接配置对应的第一代码文本与第二代码文本;
标签识别模块,用于识别第二代码文本中用于进行django部署的服务器选项框的标签代码;
标签定位模块,用于根据标签代码,判断是否能够从第一代码文本中定位出系统环境配置中用于进行django部署的计算机选项框;
失配配置/缺失配置标记模块,用于在所述第一代码文本中定位出计算机选项框是,分别获取并对比所述服务器选项框与计算机选项框中的配置参数,并在所述服务器选项框与计算机选项框中的配置参数不匹配时,标记所述计算机选项框中的配置参数为失配配置;在无法从所述第一代码文本中定位出计算机选项框时,标记所述标签代码,并根据标记以标注系统环境配置具有缺失配置。
调取单元3,通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置;
调取单元3包括:
适配配置调取模块,用于将第一配置选项框第二配置选项框进行对标,对标的路径为上述标签代码,例如:第二配置选项框的标签代码为Div_1,则根据若干第一配置选项框的标签代码匹配出与Div_1相同的标签代码,从而实现对标;获取第二配置选项框中的配置参数,以实现失配配置的数据调取。
缺失配置模块,用于在计算机设备的系统环境配置的代码存储层中,创建与第二配置选项框的标签代码一致标签代码的第一虚拟选项框,并根据刚创建而一致的标签代码,实现第二配置选项框与第一虚拟选项框的对标;获取第二配置选项框的配置参数,以实现失配配置的数据调取
对接单元4,根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
上传单元5,获取新版本数据,并依赖部署完毕的所述httppost接口将所述新版本数据上传至所述上线服务器,将所述新版本数据置换旧版本数据。
在一个实施例中,对接单元4包括:
冲突配置确定模块,用于确定出必要部署于第一配置选项框的配置参数,与待部署于第一配置选项框的失配配置参数,其中配置参数与第一失配配置的参数不对应;
虚拟框建立模块,用于建立第一虚拟选项框,将待部署于第一配置选项框的失配配置参数部署于第一虚拟选项框中,并关联第一虚拟选项框和第一配置选项框。
在一个实施例中,django项目部署装置还包括:
URL路径加载单元,用于将至少一个URL路径加载至计算机设备和上线服务器的python框架和uwsgi框架中;
Html文件接收单元,用于使用Python内置的urllib库分别发送http请求至python框架与uwsgi框架,以获取python框架与uwsgi框架与URL路径对应的html文件;
文件判断单元,用于使用Python的BeautifulSoup库解析并判断html文件是否有效;
部署正常确定单元,用于在所述html文件有效时,确定计算机设备与上线服务器对接部署正常。
在一个实施例中,django项目部署装置还包括:
新版本试运行单元,试运行新版本数据,判断是否存在bug;
Bug收集单元,用于存在bug时,自动收集bug上下文信息,并提交至bug数据库;
回滚单元,从存储旧版本数据的NAS存储卷中调取旧版本数据进行回滚处理。
django项目部署装置首先获取单元1通过分别获取内置的系统环境配置与上线服务器的服务器对接配置,再通过预设于检测单元2的py/uw测试模组检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置;采用调取单元3通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置;再根据对接单元4根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;最终,通过上传单元5获取新版本数据,并依赖部署完毕的httppost接口将新版本数据上传至上线服务器,将新版本数据置换旧版本数据,从而实现了快速将django项目的新版本数据上传至上线服务器,并实现计算机设备与上线服务器的接口自动化对接,避免不必要的人工参数配置和出现误差,摒弃以往的堡垒机数据上传方式,提升数据上传效率。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图6,图6为本实施例计算机设备基本结构框图。
计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(DigitalSignal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如django项目部署方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述django项目部署方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
计算机设备首先通过分别获取内置的系统环境配置与上线服务器的服务器对接配置,再通过预设的py/uw测试模组检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置;通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置;根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;最终,计算机设备获取新版本数据,并依赖部署完毕的httppost接口将新版本数据上传至上线服务器,将新版本数据置换旧版本数据,从而实现了快速将django项目的新版本数据上传至上线服务器,并实现计算机设备与上线服务器的接口自动化对接,避免不必要的人工参数配置和出现误差,摒弃以往的堡垒机数据上传方式,提升数据上传效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有高频业务数据的数据压缩程序,所述高频业务数据的数据压缩程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的django项目部署方法的步骤。
计算机可读存储介质首先通过分别获取内置的系统环境配置与上线服务器的服务器对接配置,再通过预设的py/uw测试模组检测系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置;通过py/uw测试模组中预设的数据调取方法分别从上线服务器中调取失配配置和/或缺失配置;根据失配配置与缺失配置对系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;最终,计算机可读存储介质获取新版本数据,并依赖部署完毕的httppost接口将新版本数据上传至上线服务器,将新版本数据置换旧版本数据,从而实现了快速将django项目的新版本数据上传至上线服务器,并实现计算机可读存储介质与上线服务器的接口自动化对接,避免不必要的人工参数配置和出现误差,摒弃以往的堡垒机数据上传方式,提升数据上传效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
在本申请所提供的上述实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述模块或组件可以是或者也可以不是物理上分开的,作为模块或组件显示的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块或组件来实现本实施例方案的目的。
本申请不限于上述实施方式,以上所述是本申请的优选实施方式,该实施例仅用于说明本申请而不用于限制本申请的范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,其依然可以对前述各具体实施方式所记载的技术方案进行若干改进和修饰,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理应视为包括在本申请的保护范围之内。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,以及凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种django项目部署方法,其特征在于,包括:
分别获取内置的系统环境配置与上线服务器的服务器对接配置,所述系统环境配置为计算机设备与外部设备对接的配置环境,所述服务器对接配置为上线服务器与外部设备对接的配置环境;
通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,所述失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置;
根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
获取新版本数据,并依赖部署完毕的所述httppost接口将所述新版本数据上传至所述上线服务器,将所述新版本数据置换旧版本数据。
2.根据权利要求1所述的django项目部署方法,其特征在于,所述通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置的步骤中,所述py/uw测试模组的检测过程包括:
分别从计算机设备和上线服务器的django框架代码存储层中获取系统环境配置与服务器对接配置对应的第一代码文本与第二代码文本;
识别所述第二代码文本中用于进行django部署的服务器选项框的标签代码;
根据标签代码,判断是否能够从第一代码文本中定位出系统环境配置中用于进行django部署的计算机选项框;
若能从所述第一代码文本中定位出计算机选项框,则分别获取并对比所述服务器选项框与计算机选项框中的配置参数,并在所述服务器选项框与计算机选项框中的配置参数不匹配时,标记所述计算机选项框中的配置参数为失配配置;
若不能从所述第一代码文本中定位出计算机选项框,则标记所述标签代码,并根据标记以标注系统环境配置具有缺失配置。
3.根据权利要求1所述的django项目部署方法,其特征在于,所述py/uw测试模组包括多元线性回归模型,所述通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置的步骤包括:
所述多元线性回归模型执行所述数据调取方法,采用预设于多元线性回归模型中的多元线性回归算法从上线服务器中确定并调取失配配置和/或缺失配置。
5.根据权利要求1所述的django项目部署方法,其特征在于,所述根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署的步骤包括:
将所述失配配置的参数录入至对应的计算机选项框中;
创建第一虚拟选项框,将所述缺失配置的参数录入至所述第一虚拟选项框中,并将所述第一虚拟选项框标注为用于django部署的系统环境配置。
6.根据权利要求5所述的django项目部署方法,其特征在于,所述将所述失配配置的参数录入至对应的计算机选项框中的步骤,包括:
确定出部署有必要配置参数的计算机选项框;
当所述失配配置的参数与必要配置参数不相同时,建立第二虚拟选项框,将所述失配配置的参数部署于第二虚拟选项框中,并关联所述第二虚拟选项框和部署有必要配置参数的计算机选项框。
7.根据权利要求1所述的django项目部署方法,其特征在于,所述根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署的步骤之后,包括:
将至少一个URL路径加载至计算机设备和上线服务器的python框架和uwsgi框架中;
使用python内置的urllib库分别发送http请求至python框架与uwsgi框架,以获取python框架与uwsgi框架与URL路径对应的html文件;
使用python的BeautifulSoup库解析并判断所述html文件是否有效;
若有效,则确定计算机设备与上线服务器对接部署正常。
8.一种django项目部署装置,其特征在于,包括:
获取单元,分别获取内置的系统环境配置与上线服务器的服务器对接配置,所述系统环境配置为计算机设备与外部设备对接的配置环境,所述服务器对接配置为上线服务器与外部设备对接的配置环境;
检测单元,通过预设的py/uw测试模组检测所述系统环境配置与服务器对接配置参数不匹配的失配配置,和/或检测服务器对接配置具有但系统环境配置不具有的缺失配置,其中,所述失配配置和缺失配置是计算机设备为对接上线服务器所必要部署的配置数据;
调取单元,通过所述py/uw测试模组中预设的数据调取方法分别从上线服务器中调取所述失配配置和/或缺失配置;
对接单元,根据所述失配配置与缺失配置对所述系统环境配置进行对应的修改,并通过修改后的系统环境配置实现httppost接口的部署;
上传单元,获取新版本数据,并依赖部署完毕的所述httppost接口将所述新版本数据上传至所述上线服务器,将所述新版本数据置换旧版本数据。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一项所述的django项目部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的django项目部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150185.XA CN111475183A (zh) | 2020-03-05 | 2020-03-05 | django项目部署方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150185.XA CN111475183A (zh) | 2020-03-05 | 2020-03-05 | django项目部署方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111475183A true CN111475183A (zh) | 2020-07-31 |
Family
ID=71747341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010150185.XA Pending CN111475183A (zh) | 2020-03-05 | 2020-03-05 | django项目部署方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475183A (zh) |
-
2020
- 2020-03-05 CN CN202010150185.XA patent/CN111475183A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263005B2 (en) | Techniques to deploy an application as a cloud computing service | |
US20200057620A1 (en) | Generation of dynamic software models using input mapping with feature definitions | |
US8321856B2 (en) | Supplying software updates synchronously | |
US20180074796A1 (en) | Inversion of control framework for multiple behaviors of a process | |
CN108228228B (zh) | 应用软件发布方法及装置 | |
CN109683953A (zh) | 一种基于可视化界面进行配置文件处理的方法及装置 | |
CN106294372A (zh) | 应用程序页面快速访问方法及应用其的移动终端 | |
CN109491763B (zh) | 一种系统部署方法、装置及电子设备 | |
CN107038519B (zh) | 用于系统之间的双向数据同步的方法和系统 | |
CN103873502A (zh) | 缓存更新方法及系统、提供更新资源的方法及系统 | |
US11294799B2 (en) | Plugin for multi-module code coverage in web applications | |
CN107025108B (zh) | 从源代码管理(scm)系统将分级数据导出到产品生命周期管理(plm)系统 | |
CN109657177A (zh) | 升级后页面的生成方法、装置、存储介质及计算机设备 | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CA2846581A1 (en) | Data infrastructure for providing interconnectivity between platforms, devices and operating systems | |
CN104346398A (zh) | 网上自动填报数据的方法及其装置 | |
CN115658496A (zh) | 可扩展的Web自动化测试方法、系统、设备及存储介质 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN109144843A (zh) | 测试环境部署的方法和装置 | |
US10540397B2 (en) | Algorithm to check compatibility of business object types to prevent business catalog corruption on resource update | |
US10095791B2 (en) | Information search method and apparatus | |
US11169823B2 (en) | Process initiation | |
CN111538542B (zh) | 一种系统配置方法及相关装置 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN109062548B (zh) | 一种基于工作流搭建的Web服务扩展方法及系统 |
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 |