代码自动发布方法、装置、计算机设备及存储介质与流程

文档序号:16535939发布日期:2019-01-08 19:54阅读:149来源:国知局
代码自动发布方法、装置、计算机设备及存储介质与流程

本发明涉及代码发布方法,更具体地说是指代码自动发布方法、装置、计算机设备及存储介质。



背景技术:

代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。

代码开发一般注重保密性,在开发过程中只能指定的内网可以访问,外网无法访问,对于代码的发布过程,一般是人工发布,在指定的位置复制代码后,再拷贝至外网,形成目标代码,但是这种方式存在效率低下,且当代码开发后有一个细微的变化或者问题,则需要重新开发且重新走人工发布流程,此过程中,用户无法使用发布的代码,导致出现空置期,用户体验感较弱。

因此,有必要设计一种新的方法,实现目标代码的高效发布且避免出现空置期。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供代码自动发布方法、装置、计算机设备及存储介质。

为实现上述目的,本发明采用以下技术方案:代码自动发布方法,包括:

设置双网卡和安全策略;

获取待发布代码;

对待发布代码进行编译,形成目标代码;

备份外网发布环境,并存储外网发布环境至数据库内;

将目标代码复制至外网发布环境内,重启外网发布环境。

其进一步技术方案为:所述设置双网卡和安全策略,包括:

设置双网卡连接内网与外网;

设置内网与外网访问的安全策略。

其进一步技术方案为:所述设置内网与外网访问的安全策略,包括:

设置内网与外网访问的ip端口;

设置内网与外网访问的权限。

其进一步技术方案为:所述设置内网与外网访问的权限之后,还包括:

设置内网与外网访问的ip地址。

其进一步技术方案为:所述将目标代码复制至外网发布环境内,重启外网发布环境之后,还包括:

判断目标代码发布是否成功;

若否,则回滚至上一次存储的外网发布环境。

其进一步技术方案为:所述回滚至上一次存储的外网发布环境,包括:

从数据库获取上一次存储的外网发布环境;

将上一次存储的外网发布环境替换当前的外网发布环境;

将目标代码复制至上一次存储的外网发布环境,并重启上一次存储的外网发布环境。

本发明还提供了代码自动发布装置,包括:

设置单元,用于设置双网卡和安全策略;

代码获取单元,用于获取待发布代码;

编译单元,用于对待发布代码进行编译,形成目标代码;

备份单元,用于备份外网发布环境,并存储外网发布环境至数据库内;

复制单元,用于将目标代码复制至外网发布环境内,重启外网发布环境。

其进一步技术方案为:所述设置单元包括:

网卡设置子单元,用于设置双网卡连接内网与外网;

策略设置子单元,用于设置内网与外网访问的安全策略。

本发明还提供了一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的代码自动发布方法。

本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的代码自动发布方法。

本发明与现有技术相比的有益效果是:本发明通过设置可与外网和内网连接的双网卡以及访问时的安全策略,以实现自动获取待发布代码以及外网发布环境,且提高代码发布的安全性,在发布过程中,备份每一次的外网发布环境,可用于若出现目标代码发布不成功情况的应急,避免出现空置期,自动发布目标代码,可使得目标代码的发布更高效。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

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

图1为本发明实施例提供的代码自动发布方法的应用场景示意图;

图2为本发明实施例提供的代码自动发布方法的流程示意图;

图3为本发明实施例提供的代码自动发布方法的子流程示意图;

图4为本发明实施例提供的代码自动发布方法的子流程示意图;

图5为本发明另一实施例提供的代码自动发布方法的流程示意图;

图6为本发明另一实施例提供的代码自动发布方法的子流程示意图;

图7为本发明实施例提供的代码自动发布装置的示意性框图;

图8为本发明实施例提供的代码自动发布装置的设置单元的示意性框图;

图9为本发明实施例提供的代码自动发布装置的策略设置子单元的示意性框图;

图10为本发明另一实施例提供的代码自动发布装置的示意性框图;

图11为本发明另一实施例提供的代码自动发布装置的回滚单元的示意性框图;

图12为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1和图2,图1为本发明实施例提供的代码自动发布方法的应用场景示意图。图2为本发明实施例提供的代码自动发布方法的示意性流程图。该代码自动发布方法应用于服务器20中,以发布平台的形式存在;该服务器20可与用户终端10进行数据交互,其中,用户终端10的使用者通常为应用程序的使用者,可通过服务器20将代码发布至用户终端10,从用户终端10得知该代码发布是否成功,以进行发布的调整。

图2是本发明实施例提供的代码自动发布方法的流程示意图。如图2所示,该方法包括以下步骤s110至s150。

s110、设置双网卡和安全策略。

在本实施例中,双网卡是指两个网卡,其中一个网卡用于访问内网,一个网卡用于访问外网;安全策略是指访问内网和外网时的安全措施,以保证代码自动发布的高安全性。

在一实施例中,如图3所示,上述的步骤s110可包括步骤s111~s112。

s111、设置双网卡连接内网与外网。

在本实施例中,通过对服务器20设置一个连接外网的网卡和一个连接内网的网卡,以使得服务器20可自动获取内网的待发布代码以及外网发布环境,以自动完成代码发布过程,提高代码发布效率。

具体地,限制双网卡访问的ip地址为内网ip地址和外网ip地址,即可实现服务器20连接内网和外网的目的。

s112、设置内网与外网访问的安全策略。

在设置服务器20连接内网和外网时,容易出现泄密的问题,从而导致安全性不高,因此,需要采取一系列安全策略以增强代码发布过程的安全性。

在一实施例中,如图4所示,上述的步骤s112可包括步骤s1121~s1122。

s1121、设置内网与外网访问的ip端口。

在本实施例中,具体是限定服务器内双网卡所访问的ip端口所对应的ip地址的唯一性,也就是双网卡中其中一个网卡的ip端口固定访问内网的ip地址,另一个网卡的ip端口固定访问外网的ip地址,从物理端口上的限定,以提高访问的安全性,从而提高代码发布的安全性。

s1122、设置内网与外网访问的权限。

在本实施例中,针对远程访问的权限限制,通过设置内网与外网访问的权限,只有当用户与密码匹配的情况下才可以进行内网和外网的访问,于其他实施例,还可以设置人脸识别等访问权限识别方式,以提高访问的安全性。

在一实施例中,上述的步骤s1122之后还包括:

s1122、设置内网与外网访问的ip地址。

除了指定的ip地址可以访问到该服务器,其他ip地址的设备都不能访问到这台服务器,从而进一步增大访问的安全性。

s120、获取待发布代码。

在本实施例中,服务器20利用与内网连接的网卡ip端口从内网获取待发布代码。

在本实施例中,该待发布代码是在内网的环境内形成,由外网做生产环境的布置以进行发布。

s130、对待发布代码进行编译,形成目标代码。

在本实施例中,编译是指待发布代码翻译成为计算机可执行的二进制指令,目标代码是指计算机可以识别的代码。

在一实施例中,上述的步骤s130可包括步骤s131~s132。

s131、对待发布代码进行预处理。

在本实施例中,若待发布代码为c代码,则该预处理指的是对待发布代码进行宏定义展开、头文件展开、条件编译,不检查语法;采用gcc-e[源文件]-o[预处理文件]命令处理;若待发布代码为java代码,则该预处理指的是分析和输入到符号表,以及注解处理。

s132、根据预处理结果进行文件格式转换,以得到目标代码。

在本实施例中,若待发布代码为c代码,则进行检查语法,将预处理过的文件编译生成汇编文件,具体采用命令gcc-s[源文件]-o[汇编文件],此外,还需要将将汇编文件生成目标代码(2进制文件),具体采用命令gcc-s[源文件]-o[目标文件];若待发布代码为java代码,则进行语义分析和生成class文件,生成的class文件由以下部分组成:结构信息,包括class文件格式版本号及各部分的数量与大小的信息;元数据,对应于java源码中声明与常量的信息。包含类/继承的超类/实现的接口的声明信息、域与方法声明信息和常量池;方法信息,对应java源码中语句和表达式对应的信息。包含字节码、异常处理器表、求值栈与局部变量区大小、求值栈的类型记录、调试符号信息。

s140、备份外网发布环境,并存储外网发布环境至数据库内。

在本实施例中,每次发布代码的时候,都需要对外网发布环境进行备份和存储,以便于若当前的外网发布环境下的代码发布不成功,可以直接拷贝上一次存储的外网发布环境,以备急用。

s150、将目标代码复制至外网发布环境内,重启外网发布环境。

在本实施例中,将目标代码复制至外网发布环境,即可实现代码的发布,重启即可使用,操作简单和方便。

在本实施例中,重启外网发布环境是为了在外网发布环境下,对目标代码进行发布。

图5是本发明另一实施例提供的一种代码自动发布方法的流程示意图。如图5所示,本实施例的代码自动发布方法包括步骤s210-s270。其中步骤s210-s250与上述实施例中的步骤s110-s150类似,在此不再赘述。下面详细说明本实施例中所增加的步骤s260-s270。

s260、判断目标代码发布是否成功。

在本实施例中,若用户终端10可使用服务器20发布的目标代码所生成的应用程序,则表明该目标代码发布成功,若用户终端10不可使用服务器20发布的目标代码所生成的应用程序,则表明该目标代码发布不成功。

s270、若否,则回滚至上一次存储的外网发布环境。

若是,则进入结束步骤。

在本实施例中,只需要回滚至上一次存储的外部发布环境,使得目标代码在上一次存储的外部发布环境中发布即可,不会出现目标代码在当前的外网发布环境下发布失败而导致用户出现无法使用的空置期。

在一实施例中,如图6所示,上述的步骤s270可包括步骤s271~s273。

s271、从数据库获取上一次存储的外网发布环境;

s272、将上一次存储的外网发布环境替换当前的外网发布环境;

s273、将目标代码复制至上一次存储的外网发布环境,并重启上一次存储的外网发布环境。

只需要将上一次存储的外网发布环境替换掉当前的外网发布环境,因为上一次存储的外网发布环境下的目标代码发布是成功,因此,替换后的目标代码发布也是成功的,可供用户使用。

上述的代码自动发布方法,通过设置可与外网和内网连接的双网卡以及访问时的安全策略,以实现自动获取待发布代码以及外网发布环境,且提高代码发布的安全性,在发布过程中,备份每一次的外网发布环境,可用于若出现目标代码发布不成功情况的应急,避免出现空置期,自动发布目标代码,可使得目标代码的发布更高效。

图7是本发明实施例提供的一种代码自动发布装置200的示意性框图。如图7所示,对应于以上代码自动发布方法,本发明还提供一种代码自动发布装置200。该代码自动发布装置200包括用于执行上述代码自动发布方法的单元,该装置可以被配置于服务器20中。具体地,请参阅图5,该代码自动发布装置200包括:

设置单元201,用于设置双网卡和安全策略。

代码获取单元202,用于获取待发布代码。

编译单元203,用于对待发布代码进行编译,形成目标代码。

备份单元204,用于备份外网发布环境,并存储外网发布环境至数据库内。

复制单元205,用于将目标代码复制至外网发布环境内,重启外网发布环境。

在一实施例中,如图8所示,所述设置单元201包括:

网卡设置子单元2011,用于设置双网卡连接内网与外网。

策略设置子单元2022,用于设置内网与外网访问的安全策略。

在一实施例中,如图9所示,所述策略设置子单元2022包括:

端口设置模块20221,用于设置内网与外网访问的ip端口。

权限设置模块2022,用于设置内网与外网访问的权限。

在一实施例中,所述策略设置子单元2022还包括:

地址设置模块,用于设置内网与外网访问的ip地址。

图10是本发明另一实施例提供的一种代码自动发布装置200的示意性框图。如图10所示,本实施例的代码自动发布装置200是上述实施例的基础上增加了判断单元206以及回滚单元207。

判断单元206,用于判断目标代码发布是否成功。

回滚单元207,用于若否,则回滚至上一次存储的外网发布环境。

在一实施例中,如图11所示,所述回滚单元207包括:

环境获取子单元2071,用于从数据库获取上一次存储的外网发布环境。

替换子单元2072,用于将上一次存储的外网发布环境替换当前的外网发布环境。

复制重启子单元2073,用于将目标代码复制至上一次存储的外网发布环境,并重启上一次存储的外网发布环境。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述代码自动发布装置200和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述代码自动发布装置200可以实现为一种计算机程序的形式,该计算机程序可以在如图12所示的计算机设备上运行。

请参阅图12,图12是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500是服务器。

参阅图12,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种代码自动发布方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种代码自动发布方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:

设置双网卡和安全策略;

获取待发布代码;

对待发布代码进行编译,形成目标代码;

备份外网发布环境,并存储外网发布环境至数据库内;

将目标代码复制至外网发布环境内,重启外网发布环境。

在一实施例中,处理器502在实现所述设置双网卡和安全策略步骤时,具体实现如下步骤:

设置双网卡连接内网与外网;

设置内网与外网访问的安全策略。

在一实施例中,处理器502在实现所述设置内网与外网访问的安全策略步骤之后,还实现如下步骤:

设置内网与外网访问的ip地址。

在一实施例中,处理器502在实现所述设置内网与外网访问的安全策略步骤时,具体实现如下步骤:

设置内网与外网访问的ip端口;

设置内网与外网访问的权限。

在一实施例中,处理器502在实现所述将目标代码复制至外网发布环境内,重启外网发布环境步骤之后,还实现如下步骤:

判断目标代码发布是否成功;

若否,则回滚至上一次存储的外网发布环境。

在一实施例中,处理器502在实现所述回滚至上一次存储的外网发布环境步骤时,具体实现如下步骤:

从数据库获取上一次存储的外网发布环境;

将上一次存储的外网发布环境替换当前的外网发布环境;

将目标代码复制至上一次存储的外网发布环境,并重启上一次存储的外网发布环境。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:

设置双网卡和安全策略;

获取待发布代码;

对待发布代码进行编译,形成目标代码;

备份外网发布环境,并存储外网发布环境至数据库内;

将目标代码复制至外网发布环境内,重启外网发布环境。

在一实施例中,所述处理器在执行所述计算机程序而实现所述设置双网卡和安全策略步骤时,具体实现如下步骤:

设置双网卡连接内网与外网;

设置内网与外网访问的安全策略。

在一实施例中,所述处理器在执行所述计算机程序而实现所述设置内网与外网访问的安全策略步骤之后,还实现如下步骤:

设置内网与外网访问的ip地址。

在一实施例中,所述处理器在执行所述计算机程序而实现所述设置内网与外网访问的安全策略步骤时,具体实现如下步骤:

设置内网与外网访问的ip端口;

设置内网与外网访问的权限。

在一实施例中,所述处理器在执行所述计算机程序而实现所述将目标代码复制至外网发布环境内,重启外网发布环境步骤之后,还实现如下步骤:

判断目标代码发布是否成功;

若否,则回滚至上一次存储的外网发布环境。

在一实施例中,所述处理器在执行所述计算机程序而实现所述回滚至上一次存储的外网发布环境步骤时,具体实现如下步骤:

从数据库获取上一次存储的外网发布环境;

将上一次存储的外网发布环境替换当前的外网发布环境;

将目标代码复制至上一次存储的外网发布环境,并重启上一次存储的外网发布环境。

所述存储介质可以是u盘、移动硬盘、只读存储器(read-onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1