本发明涉及监控技术领域,具体来说,涉及一种软件自动化编译部署启动监控的方法。
背景技术:
当前it行业日常工作中,软件编译和部署是软件开发的重要工作组成部分,同时软件编译和部署往往需要大量的时间来处理。如何简化软件编译和部署不只是精简开发工作的需要,更是快速迭代的软件产品能否快速推向市场的重要保证。
技术实现要素:
针对相关技术中的上述技术问题,本发明提出一种软件自动化编译部署启动监控的方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种软件自动化编译部署启动监控的方法,该方法包括以下步骤:
s1:结合jenkins平台,在linux服务器上安装部署maven客户端及依赖服务,其中,jenkins平台为开源的基于java编程语言开发的持续集成工具平台,maven为java编程语言的项目构建工具;
s2:采用编译服务器的jenkins软件拉取指定版本代码,执行编译命令,执行脚本执行对比、备份指令,部署到线上编译存储路径;
s3:编写一个以self.conf命名的自述文件存放在程序部署服务器项目路径下,采用线上程序控制端将编译的代码部署到线上程序目录,其中,self.conf为配置文件;
s4:采用线上程序控制端工具启动线上程序,监控执行流程。
进一步的,所述步骤s2包括以下步骤:
s21:登录jenkins管理员账号首页,创建一个新任务,输入任务名称,选择软件项目类型,选择git仓库代码,指定git项目地址,配置编译参数和执行脚本,保存操作流程和数据信息;
s22:选择jenkins任务点击立即构建,获取构建历史信息,输出历史信息到控制台,获取相应的构建输出日志,查看构建结果;
s23:执行jenkins任务定义。
进一步的,所述步骤s23包括以下步骤:
s231:从git地址获取指定分支的代码信息;
s232:切换到指定版本的代码;
s233:maven编译,多环境部署项目;
s234:备份代码源,执行脚本,移动maven编译目录至线上编译存储路径。
进一步的,所述步骤s233中多环境部署项目的步骤包括以下步骤:
s2331:采用mavenprofile机制,在项目目录下创建resources目录;
s2332:划分环境;
s2333:放置项目配置文件到环境子目录;
s2334:配置maven调用参数指定具体环境。
进一步的,所述控制端工具执行同步代码逻辑指令、查看线程状态逻辑指令、查看程序状态逻辑指令、启动程序逻辑指令、停止程序逻辑指令、重启程序逻辑指令。
本发明的有益效果:通过建立一个通用的系统和模型极大简化了开发者日常工作中的编译、部署、启动、监控的工作,避免了不必要的工作差错,自动化对比备份等功能可让开发者对开发出的软件更新有清晰认知并可进行后续的版本回退。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的一种软件自动化编译部署启动监控的方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的一种软件自动化编译部署启动监控的方法,包括以下步骤:
s1:结合jenkins平台,在linux服务器上安装部署maven客户端及依赖服务,其中,jenkins平台为开源的基于java编程语言开发的持续集成工具平台,maven为java编程语言的项目构建工具;
s2:采用编译服务器的jenkins软件拉取指定版本代码,执行编译命令,执行脚本执行对比、备份指令,部署到线上编译存储路径;
s3:编写一个以self.conf命名的自述文件存放在程序部署服务器项目路径下,采用线上程序控制端将编译的代码部署到线上程序目录,其中,self.conf为配置文件;
s4:采用线上程序控制端工具启动线上程序,监控执行流程。
步骤s2包括以下步骤:
s21:登录jenkins管理员账号首页,创建一个新任务,输入任务名称,选择软件项目类型,选择git仓库代码,指定git项目地址,配置编译参数和执行脚本,保存操作流程和数据信息;
s22:选择jenkins任务点击立即构建,获取构建历史信息,输出历史信息到控制台,获取相应的构建输出日志,查看构建结果;
s23:执行jenkins任务定义。
步骤s23包括以下步骤:
s231:从git地址获取指定分支的代码信息;
s232:切换到指定版本的代码;
s233:maven编译,多环境部署项目;
s234:备份代码源,执行脚本,移动maven编译目录至线上编译存储路径。
步骤s233中多环境部署项目的步骤包括以下步骤:
s2331:采用mavenprofile机制,在项目目录下创建resources目录;
s2332:划分环境;
s2333:放置项目配置文件到环境子目录;
s2334:配置maven调用参数指定具体环境。
在本发明的一个具体实施例中,所述控制端工具执行同步代码逻辑指令、查看线程状态逻辑指令、查看程序状态逻辑指令、启动程序逻辑指令、停止程序逻辑指令、重启程序逻辑指令。
为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
1)本发明结合jenkins平台,首先在linux服务器上安装部署该服务及依赖服务,如安装部署maven客户端并配置软件包仓库地址(即本地maven仓库地址);
2)登录jenkins管理员账号首页,创建一个新任务,输入任务名称后选择“构建一个自由风格的软件项目”,选择git仓库代码(即本地git项目地址),配置编译参数和执行脚本,然后保存;
3)任务创建好后当需要执行的时候选择jenkins任务点击立即构建,会出现构建历史,再点击控制台输出,可以看到相应的构建输出日志,最后可以查看构建是否成功。
一般jenkins任务定义的执行过程为:
从git地址拉取指定分支的代码;
切换到指定版本(默认head)的代码;
maven编译,为实现项目的多环境部署,需要利用mavenprofile机制,在项目目录下创建resources目录,分环境将项目配置文件放置在子目录下,然后配置maven调用参数指定具体环境;
执行脚本先将代码源备份,然后将maven编译目录移动至线上编译存储路径(注意:以上任何过程出现错误任务将以失败中断结束);
4)当需要在某台服务器上部署程序的时候,编写一个以self.conf命名的自述文件存放在程序部署服务器项目路径下,其中配置文件版本、项目描述、项目名称、代码拉取路径、项目类型、进程文件地址、需要监控的日志、程序运行环境配置(包括内存等)、程序运行环境版本和联系人信息;
5)使用线上程序控制端工具(命名为jktool)操作程序,在有self.conf自述文件的项目路径下执行,其依赖self.conf配置具有以下功能:
start启动程序
stop停止程序
restart重启程序
status查看程序状态
threads查看线程状态
sync同步代码
例如在项目部署目录下执行jktoolrestart将重启程序,此线上程序控制端工具逻辑:
获取当前路径,判断在路径下是否包含self.conf文件,不包含则程序结束,提示错误信息"未找到self.conf文件!";
加载self.conf文件,判断文件里设置的程序运行环境版本,根据设置的程序运行环境版本加载相应的程序运行环境,如果没找到对应的程序运行环境则程序结束,提示错误信息。
工具根据输入具体命令执行:
sync同步代码逻辑,加载self.conf文件中设置的代码拉取路径,判断是否为空,为空程序结束,提示"未设置源地址,无法同步!"。将jenkins编译安装的程序目录同步入当前部署项目目录下;
threads查看线程状态逻辑,加载self.conf文件中设置的进程文件地址,判断是否存在,不存在提示错误信息“无法检测状态!”,判断是否存在进程文件中设置的进程号,不存在提示程序未启动,若程序启动则抓取线程信息到文件,输出线程id、cpu占用率、已运行时间、线程名称;
status查看程序状态逻辑,加载self.conf文件中设置的进程文件地址,判断是否存在,不存在提示错误信息“无法检测状态!”,检测判断是否存在该进程,存在提示“程序运行中!”,不存在提示“程序未启动!”;
start启动程序逻辑,加载self.conf文件中设置的进程文件地址,判断是否存在,不存在提示错误信息“无法检测状态!”,查看进程状态,判断是否存在该进程,存在提示“程序已经在运行中!”。判断self.conf文件中设置的项目类型,根据项目类型启动程序,如果类型未定义提示“不支持的程序类型,无法启动!”,判断进程是否存在,存在提示“启动成功!”,不存在提示“启动失败!”;
stop停止程序逻辑,加载self.conf文件中设置的进程文件地址,判断是否存在,不存在提示错误信息“无法检测状态!”,查看进程状态,判断是否存在该进程,不存在提示“程序未启动!”。判断self.conf文件中设置的项目类型,根据项目类型停止程序。判断是否还存在进程,不存在提示“停止成功!”,存在提示“停止失败!”;
restart重启程序逻辑,依次执行上面的停止程序和启动程序。
综上所述,借助于本发明的上述技术方案,通过建立一个通用的系统和模型极大简化了开发者日常工作中的编译、部署、启动、监控的工作,避免了不必要的工作差错,自动化对比备份等功能可让开发者对开发出的软件更新有清晰认知并可进行后续的版本回退。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种软件自动化编译部署启动监控的方法,其特征在于,包括以下步骤:
s1:结合jenkins平台,在linux服务器上安装部署maven客户端及依赖服务,其中,jenkins平台为开源的基于java编程语言开发的持续集成工具平台,maven为java编程语言的项目构建工具;
s2:采用编译服务器的jenkins软件拉取指定版本代码,执行编译命令,执行脚本执行对比、备份指令,部署到线上编译存储路径;
s3:编写一个以self.conf命名的自述文件存放在程序部署服务器项目路径下,采用线上程序控制端将编译的代码部署到线上程序目录,其中,self.conf为配置文件;
s4:采用线上程序控制端工具启动线上程序,监控执行流程。
2.根据权利要求1所述的一种软件自动化编译部署启动监控的方法,其特征在于,所述步骤s2包括以下步骤:
s21:登录jenkins管理员账号首页,创建一个新任务,输入任务名称,选择软件项目类型,选择git仓库代码,指定git项目地址,配置编译参数和执行脚本,保存操作流程和数据信息;
s22:选择jenkins任务点击立即构建,获取构建历史信息,输出历史信息到控制台,获取相应的构建输出日志,查看构建结果;
s23:执行jenkins任务定义。
3.根据权利要求2所述的一种软件自动化编译部署启动监控的方法,其特征在于,所述步骤s23包括以下步骤:
s231:从git地址获取指定分支的代码信息;
s232:切换到指定版本的代码;
s233:maven编译,多环境部署项目;
s234:备份代码源,执行脚本,移动maven编译目录至线上编译存储路径。
4.根据权利要求3所述的一种软件自动化编译部署启动监控的方法,其特征在于,所述步骤s233中多环境部署项目的步骤包括以下步骤:
s2331:采用mavenprofile机制,在项目目录下创建resources目录;
s2332:划分环境;
s2333:放置项目配置文件到环境子目录;
s2334:配置maven调用参数指定具体环境。
5.根据权利要求1所述的一种软件自动化编译部署启动监控的方法,其特征在于,所述控制端工具执行同步代码逻辑指令、查看线程状态逻辑指令、查看程序状态逻辑指令、启动程序逻辑指令、停止程序逻辑指令、重启程序逻辑指令。
技术总结