首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于jenkins和K3S的软件环境快速部署方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:江苏云坤信息科技有限公司

摘要:本发明涉及一种基于jenkins和K3S的软件环境快速部署方法,其基于自动化运维工具,实现K3s、分布式脚本系统GlusterFS的部署。通过K3s集群机器,挂载至步骤1部署的分布式脚本系统GlusterFS,定义待部署的软件yaml脚本。构建jenkinsdocker容器镜像,实现jenkins环境的快速部署。配置jenkins任务,构建业务代码仓库地址,生成自动生产管理脚本。在Pipline中指定软件构建的shell脚本,将自动生产管理版本描述脚本保存在代码目录中。能通过K3sKubectl控制对应容器进行重启,实现服务的更新。由此,方便中小型软件项目的交付部署,部署快速,后期运维方便。能够简化软件研发过程中的构建时间,可以按需进行构建。方便软件研发持续集成环境的复制和再造。方便版本管理和版本回滚。

主权项:1.基于jenkins和K3S的软件环境快速部署方法,其特征在于包括以下步骤:步骤一,基于自动化运维工具,实现K3s、分布式脚本系统GlusterFS的部署;通过基于自动化运维工具部署ansible,编写部署脚本实现K3s、分布式脚本系统GlusterFS快速部署,K3s集群机器挂载至部署的分布式脚本系统,定义待部署的软件yaml脚本,并将容器组件相关路径映射到宿主机;步骤二,通过K3s集群机器,挂载至步骤一部署的分布式脚本系统GlusterFS,定义待部署的软件yaml脚本;准备K3s部署二进制脚本,定义K3s和GlusterFS部署IP,定义K3s,进行部署K3sserver和agent初始化的命令模板j2脚本,定义K3sserver和agent端yaml脚本,调用相关模板脚本;定义glusterfsyum源,yaml脚本中定义yum安装命令;定义glusterfsclient脚本,使用mount命令将client挂载到glusterfs服务器;在yaml脚本中定义Service类型,指定名称;在yaml脚本中定义Deployment类型,指定名称;在Deployment类型中定义相关规格,包括replicas、selector、template;在Deployment类型spec层级下定义容器name参数、image参数、ports参数,通过volumeMounts参数将容器运行目录映射至宿主机的目录;步骤三,构建jenkinsdocker容器镜像,实现jenkins环境的快速部署,其实施过程为,编写dockerfile,构建JenkinsMaster镜像;编写dockerfile,构建Jenkinsslave镜像,镜像包含软件构建所需的java、node环境;运行jenkinsmaster镜像,运行任务运行时,自动启动jenkinsslave,构建完成slave销毁,保障每次构建环境均相同;步骤四,配置jenkins任务,构建业务代码仓库地址,生成自动生产管理脚本:基于groovy语言编写Pipline脚本驱动构建过程,Pipline托管于Gitea,Jenkins从Gitea获取;设置jenkins任务为参数化,配置“choiceparameter”的开发、测试、生产环境;配置jenkins任务“ChooseSourceforValue”,定义为名称Component,将所有需要部署的组件名配置在此处;配置“StringParameter”,定义名称为RepoAddr,值为业务代码仓库地址;配置Pipeline来源为Git,配置Pipeline脚本代码仓库地址;Pipeline执行过程中获取输入参数RepoAddr,拉取相应的业务代码;通过jenkins任务配置“listGitBranches”配置,定义名称及业务代码仓库地址,用户构建任务时,jenkins任务显示配置的仓库的分支和版本tag信息,用户构建时选择相应的版本;步骤五,在Pipline中指定软件构建的shell脚本:在Pipline中指定shell脚本的git仓库地址,获取步骤四中仓库地址的分支信息,通过Component作为shell构建脚本的入参数,通过shell调用maven工具,按指定输入构建出二进制脚本;步骤六,通过shell脚本,将自动生产管理版本描述脚本保存在代码目录中;处理过程为,获取步骤四中仓库地址的分支信息;采用shell脚本中通过gittag列出所有的分支信息,通过sort--sortversion对分支信息进行排序,根据当前输入版本名称获取前一版本名称为$CURR_BRANCH;在输出脚本目录创建版本描述脚本VERSION.md脚本,写入当前构建版本为版本号、写入当前时间为构建时间;获取git本版本的提交记录为版本描述信息,写入VERSION.md;步骤七,将先前构建完成的业务代码,步骤一部署的分布式脚本系统GlusterFS中,进行共享存储,通过K3sKubectl控制对应容器进行重启,实现服务的更新,处理过程为,在Pipline中基于sshPublisher,根据输入组件名称查找分布式存储上旧的脚本目录,执行命令删除相应的业务代码;在Pipline中基于sshPublisher,将二进制包传输至分布式脚本系统GlusterFS,在K3s集群节点获取所有pod信息Kubectlgetpods–A;获取集群上所有pod的详细信息,以json格式输出,表示为,Kubectlgetpods-nnamespacepod-name-ojson;使用jq命令对返回结果进行格式化,并按需获取每个容器对应的命名空间、podname和对应的业务组件名称;选择其中业务组件名称与jenkins输入参数Component一致的pod,重启对应的pod,实现指定构建,表示为Kubectldeletepod-n-nnamespacepod-name。

全文数据:

权利要求:

百度查询: 江苏云坤信息科技有限公司 基于jenkins和K3S的软件环境快速部署方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术