本发明涉及应用运维,具体涉及一种应用的运维方法及装置。
背景技术:
1、在日常的开发过程中,开发人员提交代码后,需要频繁地使用ssh客户端(例如putty等)连接测试环境机器进行运维操作,首先执行拉取代码、编译打包完成部署,然后执行启停应用、查看进程和查询日志等查询操作,完成应用测试。
2、现有技术中,在使用ssh客户端执行应用的运维操作时,需要频繁连接测试环境机器,并由人工确定代码的分支信息手动执行相应的脚本进行运维操作,过程繁琐效率较低。
3、因此,如何提高运维操作效率,是目前急需解决的问题。
技术实现思路
1、有鉴于此,本发明实施例提供一种应用的运维方法及装置,以实现自动根据代码的分支信息执行相应的脚本进行运维操作,简化运维过程,提高运维效率的目的。
2、为实现上述目的,本发明实施例提供如下技术方案:
3、本发明实施例第一方面公开了一种应用的运维方法,包括:
4、当接收到目标应用的部署指令时,从所述部署指令中提取所述目标应用的代码分支信息;
5、调用预先构建的部署脚本基于所述代码分支信息,获取目标应用的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包;
6、当接收到所述目标应用的启动指令时,调用预先构建的启动脚本,基于所述目标应用的程序包,启动所述目标应用;
7、当接收到针对所述目标应用的查询指令时,调用与所述查询指令对应的脚本执行查询操作,得到并展示查询结果。
8、优选的,所述调用预先构建的部署脚本基于所述代码分支信息,获取目标应用的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包,包括:
9、获取所述目标应用的应用名称;
10、将所述应用名称和所述分支信息作为参数,输入到预先构建的部署脚本,使得所述部署脚本从代码仓库中查询到并提取对应的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包;所述代码仓库中预先存储有各个应用不同分支的应用代码。
11、优选的,还包括:
12、接收用户提交的待入库的应用代码以及待入库的应用代码的分支信息;
13、基于所述分支信息在代码仓库中查询待入库的应用代码是否属于新增分支的应用代码;
14、若是,为所述应用代码分配存储路径,并将待入库的应用代码和所述分支信息保存到所述代码仓库中;
15、若否,将所述代码仓库中所述分支信息对应的应用代码,替换为用户提交的应用代码。
16、优选的,当接收到针对所述目标应用的查询指令时,调用与所述查询指令对应的脚本执行查询操作,得到并展示查询结果,包括:
17、当接收到用户输入针对所述目标应用的进程查询指令时,调用预先构建的进程查询脚本查询得到所述目标应用的进程信息;所述进程信息至少包括pid参数和jvm参数;
18、或者,
19、当接收到用户输入针对所述目标应用的运行日志查询指令时,调用预先构建的日志查询脚本查询得到所述目标应用的运行日志;所述运行日志中包含由开发人员预先埋点所产生的日志信息。
20、优选的,还包括:
21、当所述目标应用处于启动状态,并接收到针对所述目标应用的停止指令时,调用预先构建的停止脚本,停止运行所述目标应用。
22、本发明实施例第二方面公开了一种应用的运维装置,包括:
23、接收单元,用于当接收到目标应用的部署指令时,从所述部署指令中提取所述目标应用的代码分支信息;
24、第一调用单元,用于调用预先构建的部署脚本基于所述代码分支信息,获取目标应用的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包;
25、第二调用单元,用于当接收到所述目标应用的启动指令时,调用预先构建的启动脚本,基于所述目标应用的程序包,启动所述目标应用;
26、第三调用单元,用于当接收到针对所述目标应用的查询指令时,调用与所述查询指令对应的脚本执行查询操作,得到并展示查询结果。
27、优选的,所述第一调用单元,包括:
28、获取子单元,用于获取所述目标应用的应用名称;
29、输入子单元,用于将所述应用名称和所述分支信息作为参数,输入到预先构建的部署脚本,使得所述部署脚本从代码仓库中查询到并提取对应的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包;所述代码仓库中预先存储有各个应用不同分支的应用代码。
30、优选的,还包括:
31、入库子单元,用于接收用户提交的待入库的应用代码以及待入库的应用代码的分支信息;基于所述分支信息在代码仓库中查询待入库的应用代码是否属于新增分支的应用代码;若是,为所述应用代码分配存储路径,并将待入库的应用代码和所述分支信息保存到所述代码仓库中;若否,将所述代码仓库中所述分支信息对应的应用代码,替换为用户提交的应用代码。
32、优选的,所述第三调用单元,具体用于:
33、当接收到用户输入针对所述目标应用的进程查询指令时,调用预先构建的进程查询脚本查询得到所述目标应用的进程信息;所述进程信息至少包括pid参数和jvm参数;
34、或者,
35、当接收到用户输入针对所述目标应用的运行日志查询指令时,调用预先构建的日志查询脚本查询得到所述目标应用的运行日志;所述运行日志中包含由开发人员预先埋点所产生的日志信息。
36、优选的,还包括:
37、第四调用单元,用于当所述目标应用处于启动状态,并接收到针对所述目标应用的停止指令时,调用预先构建的停止脚本,停止运行所述目标应用。
38、基于上述本发明实施例提供的一种应用的运维方法及装置,当接收到目标应用的部署指令时,从所述部署指令中提取所述目标应用的代码分支信息;调用预先构建的部署脚本基于所述代码分支信息,获取目标应用的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包;当接收到所述目标应用的启动指令时,调用预先构建的启动脚本,基于所述目标应用的程序包,启动所述目标应用;当接收到针对所述目标应用的查询指令时,调用与所述查询指令对应的脚本执行查询操作,得到并展示查询结果。在本方案中,当接收到应用的部署指令时,根据部署指令中携带的代码分支信息,获取相应的应用代码,基于应用代码调用部署脚本完成部署,进而分别调用相应的脚本分别执行针对于应用的启动、查询和停止操作,以实现自动根据代码的分支信息执行相应的脚本进行运维操作,简化运维过程,提高运维效率的目的。
1.一种应用的运维方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述调用预先构建的部署脚本基于所述代码分支信息,获取目标应用的应用代码,并基于所述应用代码执行编译操作,得到所述目标应用的程序包,包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求1所述的方法,其特征在于,当接收到针对所述目标应用的查询指令时,调用与所述查询指令对应的脚本执行查询操作,得到并展示查询结果,包括:
5.根据权利要求1至4任一所述的方法,其特征在于,还包括:
6.一种应用的运维装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,所述第一调用单元,包括:
8.根据权利要求7所述的装置,其特征在于,还包括:
9.根据权利要求6所述的装置,其特征在于,所述第三调用单元,具体用于:
10.根据权利要求6至9任一所述的装置,其特征在于,还包括: