本发明专利技术涉及一种运维方法、装置和存储介质。该方法包括如下步骤:获取来自开发终端的至少一组代码;基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包;将所述更新包部署至发布终端。本发明专利技术的技术方案可以保证软件产品运维的持续性与有效性。
An Operational Maintenance Method, Device and Storage Media
【技术实现步骤摘要】
一种运维方法、装置和存储介质
本专利技术涉及计算机应用
,具体涉及一种运维方法、装置和存储介质。
技术介绍
大型软件产品开发通常涉及到多个部门的协同工作,将一个软件产品分为多个项目或模块,分别由不同的部门进行开发工作,并最终由系统中心进行集成发布。在软件产品需要进行更新时,通常依然由各开发部门负责原有项目或模块的更新工作,并由系统中心进行整体运维工作。但是,由于各部门可能是分离的,其开发软件配置环境在升级过程中可能并不能保持一致,从而导致各更新项目或模块间存在一定差异。在进行集成时,需要各部门共同操作,当有错误出现时,查错与调试都将花费大量时间,严重影响了软件产品的运维效率。
技术实现思路
针对现有技术的不足,本专利技术提供一种运维方法、装置和存储介质。第一方面,本专利技术提供了一种运维方法,该方法包括如下步骤:获取来自开发终端的至少一组代码。基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包。将所述更新包部署至发布终端。第二方面,本专利技术提供了一种运维装置,该装置包括:获取模块,用于获取来自开发终端的至少一组代码。处理模块,用于基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包。发送模块,用于将所述更新包部署至发布终端。第三方面,本专利技术提供了一种运维装置,该装置包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如上所述的运维方法。第四方面,本专利技术提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的运维方法。本专利技术提供的运维方法、装置和存储介质的有益效果是,共同开发与更新特定大型软件产品的多个部门分别通过各自的开发终端编写完成相应的软件代码。服务器在接收到一组或多组代码后,基于Jenkins技术将代码编译打包为程序包,由于可以监控持续重复的工作,可以保证运维的连续性。随后基于Docker技术将程序包以镜像的形式推送至容器仓库,不同的镜像可具有不同的标签予以辨识。即使不同的开发终端的配置环境有所区别,但由于Docker镜像并不受限于不同的配置环境,可在容器仓库中将各镜像以统一的标准集成为用于更新软件产品部分功能的更新包。在更新包的作用下,通过发布终端发布的软件产品的未更新部分并不受待更新部分开发的影响,即使出现编译错误,也可通过标签等方式快速查错,可以保证软件产品运维的持续性与有效性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例的一种运维方法的流程示意图;图2为本专利技术实施例的一种运维装置的结构框图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。如图1所示,本专利技术实施例的一种运维方法包括如下步骤:获取来自开发终端的至少一组代码。基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包。将所述更新包部署至发布终端。在本实施例中,共同开发与更新特定大型软件产品的多个部门分别通过各自的开发终端编写完成相应的软件代码。服务器在接收到一组或多组代码后,基于Jenkins技术将代码编译打包为程序包,由于可以监控持续重复的工作,可以保证运维的连续性。随后基于Docker技术将程序包以镜像的形式推送至容器仓库,不同的镜像可具有不同的标签予以辨识。即使不同的开发终端的配置环境有所区别,但由于Docker镜像并不受限于不同的配置环境,可在容器仓库中将各镜像以统一的标准集成为用于更新软件产品部分功能的更新包。在更新包的作用下,通过发布终端发布的软件产品的未更新部分并不受待更新部分开发的影响,即使出现编译错误,也可通过标签等方式快速查错,可以保证软件产品运维的持续性与有效性。其中,Jenkins是基于Java开发的一种持续集成工具,可用于监控软件版本的发布/测试项目以及监控外部调用执行的工作,以实现软件的持续集成。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。优选地,所述基于Jenkins技术将至少一组所述代码打包为至少一个程序包的具体实现包括:调用JenkinsAPI(ApplicationProgrammingInterface,应用程序编程接口)获得所述代码对应的任务项目,根据所述任务项目对所述代码进行编译,生成所述程序包。在本优选实施例中,通过调用Jenkins应用程序编程接口,获得代码对应的任务项目后,便可对代码进行编译,以获得该任务项目对应的程序包。基于Jenkins技术可以持续监测更新用的各组程序,保证软件产品整体运维的连续性。优选地,所述基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库的具体实现包括:调用DockerBuild指令创建所述程序包的容器镜像,并调用DockerPush指令将所述程序包的所述容器镜像推送至所述容器仓库。在本优选实施例中,分别采用DockerBuild指令和DockerPush指令创建程序包的容器镜像并将所述容器镜像推送至Docker容器仓库,各容器镜像均具有与之对应的标签,通过标签可以准确对相应代码、程序包和镜像进行准确追溯。由于进入容器仓库为容器镜像,其并不受限于配置环境,可以保证对容器仓库中的各容器镜像进行统一操作。优选地,所述根据所述容器仓库中的至少一个所述容器镜像集成获得更新包的具体实现包括:基于Shell脚本将至少一个所述容器镜像集成获得所述更新包。其中,Shell脚本,即ShellScript是一种处理能力强大的批处理方式。将各类命令预先放入到一个文件中,方便一次性执行,可方便管理员进行设置或者管理。可事先设置一定条件,例如镜像达到一定数量时,或者在从接收第一个镜像起算达到一定时间后,可自动对多个镜像进行集成,以获得用于更新软件产品相应功能的更新包。优选地,所述将所述更新包部署至发布终端的具体实现包括:基于Rancher平台,将所述更新包部署至发布终端。在本优选实施例中,由于Rancher平台包含了当前全部主流的编排调度引擎,例如DockerSwarm、Kubernetes和Mesos等。不仅可以和Docker进行良好的兼容,还使同一个用户可以创建Swarm或者Kubernetes集群,并且可以使用原生的Swarm或者Kubernetes工具管理应用。可以将更新包快速部署至多个用于发布软件产品的终端。如图2所示,本专利技术实施例的一种运维装置包括:获取模块,用于获取来自开发终端本文档来自技高网...
【技术保护点】
1.一种运维方法,其特征在于,所述方法包括如下步骤:获取来自开发终端的至少一组代码;基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包;将所述更新包部署至发布终端。
【技术特征摘要】
1.一种运维方法,其特征在于,所述方法包括如下步骤:获取来自开发终端的至少一组代码;基于Jenkins技术将至少一组所述代码打包为至少一个程序包,基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库,并根据所述容器仓库中的至少一个所述容器镜像集成获得更新包;将所述更新包部署至发布终端。2.根据权利要求1所述的运维方法,其特征在于,所述基于Jenkins技术将至少一组所述代码打包为至少一个程序包的具体实现包括:调用JenkinsAPI获得所述代码对应的任务项目,根据所述任务项目对所述代码进行编译,生成所述程序包。3.根据权利要求2所述的运维方法,其特征在于,所述基于Docker技术将至少一个所述程序包的容器镜像推送至容器仓库的具体实现包括:调用DockerBuild指令创建所述程序包的容器镜像,并调用DockerPush指令将所述程序包的所述容器镜像推送至所述容器仓库。4.根据权利要求3所述的运维方法,其特征在于,所述根据所述容器仓库中的至少一个所述容器镜像集成获得更新包的具体实现包括:基于Shell脚本将至少一个所述容器镜像集成获得所述更新包。5.根据权利要求1至4任一项所述的运维方法,其特征在于,所述将所述更新包部署至发布终端的具体实现...
【专利技术属性】
技术研发人员:李卫群,兰海翔,周发辉,
申请(专利权)人:贵州力创科技发展有限公司,
类型:发明
国别省市:贵州,52
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。