本发明实施例涉及计算机,尤其涉及一种基于netty的项目自动打包发布方法和系统。
背景技术:
1、本申请中的项目打包发布,指将软件项目的程序打包、发布、部署于指定的服务器中,以提供对应的服务项目。以购药软件为例,软件提供的服务项目可以包括“订单”“支付”“优惠券”等。
2、现有技术中的项目打包发布都只能针对单台服务器进行,且开发人员在发布程序后还需要手动解压程序包、更换配置文件并重启程序。在现在微服务众多的情况下,大部分项目都是在多台服务器内部署的,需要开发或者运维人员手动上传程序文件到各项目服务器中,并逐个手动解压、修改配置文件并启动。
技术实现思路
1、本发明实施例提供一种基于netty的项目自动打包发布方法和系统,实现针对多服务器的多项目同时发布。
2、第一方面,本发明实施例提供了一种基于netty的项目自动打包发布方法,包括:
3、netty服务端获取各待发布项目,并与部署于各项目服务器的netty客户端建立长连接;
4、基于各长连接,所述netty服务端与各netty客户端执行如下操作;
5、所述netty服务端向各netty客户端发送第一动作指令,用于指示各netty客户端加载并解压项目程序包;各netty客户端从各第一动作指令中提取各待发布项目的程序包名称,根据各程序包名称加载各待发布项目的程序包并解压;
6、所述netty服务端向各netty客户端发送第二动作指令,用于指示各netty客户端替换环境配置文件;各netty客户端从各第二动作指令中提取各项目服务器的环境配置文件名称,并根据各环境配置文件名称加载新的环境配置文件;
7、所述netty服务端向各netty客户端发送第三动作指令,用于指示各netty客户端重启服务;各netty客户端根据各新的环境配置文件配置程序运行环境,并启动各解压后的程序,完成项目发布。
8、第二方面,本发明实施例提供一种基于netty的项目自动打包发布系统,包括:发布控制器和多个项目服务器,所述发布控制器部署有netty服务端,各项目服务器部署有netty客户端;其中,
9、所述netty服务端用于获取各待发布项目,并与各netty客户端建立长连接;
10、基于各长连接,所述netty服务端与各netty客户端用于执行如下操作;
11、所述netty服务端向各netty客户端发送第一动作指令,用于指示各netty客户端加载并解压项目程序包;各netty客户端从各第一动作指令中提取各待发布项目的程序包名称,根据各程序包名称加载各待发布项目的程序包并解压;
12、所述netty服务端向各netty客户端发送第二动作指令,用于指示各netty客户端替换环境配置文件;各netty客户端从各第二动作指令中提取各项目服务器的环境配置文件名称,并根据各环境配置文件名称加载新的环境配置文件;
13、所述netty服务端向各netty客户端发送第三动作指令,用于指示各netty客户端重启服务;各netty客户端根据各新的环境配置文件配置程序运行环境,并启动各解压后的程序,完成项目发布。
14、本发明实施例针对多项目同时发布的问题,设置单独的发布控制器,来控制多个项目服务器自动执行项目发布的相关操作。具体的,在发布控制器部署netty服务端,在各项目服务器分别部署netty客户端,共同组成基于netty的通信架构;并针对项目发布的关键操作“加载并解压程序包、替换配置文件和重启服务”,分别构建了匹配的动作指令,利用netty通信架构下稳定通讯功能在c/s(netty客户端/netty服务端)之间连续传输上述多个动作指令,使各项目服务器准确定位待发布的项目信息并依次执行相应的动作,自动完成多个项目的快速发布。整个方法的用户操作简单,仅需输入项目名称、服务器地址等发布需求,无需针对每个服务器手动解压程序包、更换配置、重启服务的操作步骤,大大提高了多项目发布效率,更符合实际应用中服务类型众多、需求各异的应用场景。
1.一种基于netty的项目自动打包发布方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述netty服务端获取各待发布项目,并与部署于各项目服务器的netty客户端建立长连接,包括:
3.根据权利要求2所述的方法,其特征在于,所述netty服务端向各项目服务器地址发起通信,与各netty客户端建立长连接,包括:
4.根据权利要求1所述的方法,其特征在于,在所述netty服务端向各netty客户端发送第一动作指令之前,还包括:所述netty服务端将任一待发布项目的程序自动打包,并上传至文件服务器;
5.根据权利要求1所述的方法,其特征在于,在所述netty服务端向各netty客户端发送第二动作指令之前,还包括:
6.根据权利要求5所述的方法,其特征在于,所述根据各环境类型,确定各项目服务器的主机类型和环境配置文件,包括:
7.根据权利要求1所述的方法,其特征在于,在所述netty服务端向各netty客户端发送第二动作指令之前,还包括:所述netty服务端将任一项目待发布的各项目服务器的环境配置文件上传至文件服务器;
8.根据权利要求1所述的方法,其特征在于,在各netty客户端根据各新的环境配置文件配置程序运行环境,并启动各解压后的程序之后,还包括:
9.根据权利要求1所述的方法,其特征在于,还包括:
10.一种基于netty的项目自动打包发布系统,其特征在于,包括:发布控制器和多个项目服务器,所述发布控制器部署有netty服务端,各项目服务器部署有netty客户端;其中,