System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种基于java的自动化部署方法、装置、计算机设备及存储介质。
技术介绍
1、devops(即deve l opment和operat i ons)技术的兴起,将开发和运维更紧密的融合在一起。使得代码审查、项目构建、测试、部署等更加便捷和可靠。对于集成化的环境而言,从流水线到镜像仓库,再到容器平台,可以形成完整的构建-部署流程。但是很多场景下,项目实施方和项目建设方的网络、代码版本控制工具以及依赖包仓库并不相通,往往需要在实施方构建好镜像,传输到建设方的服务环境里运行。对于较大项目而言,服务拆分成众多的微服务,服务镜像以及版本也同比例增加,这就增大了远程部署的工作量,并且人工操作也容易导致错误。目前行业里还没有针对这一场景的实用性工具。
2、目前的部署方式是手动将镜像打包后,通过sftp/ftp下载到本地,下载完成后,再通过sftp/ftp手动上传到远程,并且人工解压缩后同步到远程的镜像服务器,最后升级镜像完成发布。这种处理方式的缺点是:操作繁琐,且每个流程都是重复性的工作;当服务、版本较多的时候,人工操作容易出错,导致部署失败。
技术实现思路
1、本专利技术实施例的目的在于提出一种基于java的自动化部署方法、装置、计算机设备及存储介质,以解决现有的部署方式操作繁琐,且每个流程都是重复性的工作;当服务、版本较多的时候,人工操作容易出错,导致部署失败的问题。
2、为了解决上述技术问题,本专利技术提供一种基于java的自动化部署方
3、s1、获取自动化部署配置;
4、s2、判断所述自动化部署配置是否正确,是则选择部署方式;
5、s3、根据所述自动化部署配置及所述部署方式,进行自动化部署;
6、s4、开启自动化部署状态监测线程,由所述自动化部署状态监测线程监测完成镜像数据传输和自动化部署任务。
7、进一步的,在所述步骤s1、获取自动化部署配置之前还包括:
8、s11、获取由java生成的固定配置信息和变动配置信息,所述固定配置信息包括git l ab地址、远程服务器地址、镜像服务器地址和账号密码信息,所述变动配置信息包括需要部署的环境、服务名称和镜像版本号;
9、s12、将所述固定配置和变动配置信息生成数据结构;
10、s13、将所述数据结构存储为配置文件。
11、进一步的,所述步骤s2、判断所述自动化部署配置是否正确,是则选择部署方式具体包括:
12、s21、判断g it l ab地址是否已经配置、服务名称及版本号是否已经配置、发布的版本号格式是否有误、远程服务器地址是否已经配置,否则提示出错信息,是则进入步骤s22;
13、s22、选择部署方式,所述部署方式包括自动部署、仅下载镜像、仅上传镜像部署。
14、进一步的,所述数据结构包括:
15、多个结构成员,所述多个结构成员包括本地代码地址、构建的分支类型、g i t lab账号、g it l ab密码、远程部署的版本号、服务名及版本号、本地镜像仓库域名、本地镜像仓库空间、本地镜像仓库环境、本地保存镜像位置、本地docker服务i p、本地登录方式、本地docker服务账号、本地docker服务密码、远程镜像仓库域名、远程镜像仓库空间、远程镜像仓库环境、远程镜像保存位置、远程docker服务i p、远程登录方式、远程docker服务账号、远程docker服务密码、远程容器平台地址、远程容器平台用户名、远程容器平台密码、部署远程容器平台的环境类别。
16、进一步的,通过命令行窗口,获取所述变动配置信息,更新所述数据结构。
17、进一步的,所述步骤s3、根据所述自动化部署配置及所述部署方式,进行自动化部署具体包括:
18、s31、如果所述部署方式为自动部署,进入步骤s32,如果所述部署方式为仅下载镜像,进入步骤s33,如果所述部署方式为仅上传镜像部署,进入步骤s35;
19、s32、选择打包方式,如果所述打包方式为镜像下载,则进入步骤s33,如果所述打包方式为本地打包,则读取g it代码,在本地用grad l e或者maven打包,进入步骤s34,
20、s33、拉取镜像;
21、s34、压缩镜像并将压缩后的镜像下载到本地,进入步骤s35;
22、s35、将镜像上传到远程服务;
23、s36、对镜像进行解压缩并推送;
24、s37、触发容器部署。
25、进一步的,所述步骤s4、开启自动化部署状态监测线程,由所述自动化部署状态监测线程监测完成镜像数据传输和自动化部署任务具体包括:
26、s41、创建且开启所述自动化部署状态监测线程;
27、s42、所述自动化部署状态监测线程跟进镜像数据传输和自动化部署任务中的sftp续传错误状态;
28、s43、如果sftp续传错误状态出现一次,则设置等待续传时间,如果所述等待续传时间内出现sftp续传错误状态三次,则停止自动化部署,否则等所述sftp续传错误状态修复后,进行镜像续传。
29、为了解决上述技术问题,本专利技术还提供一种基于java的自动化部署装置,采用了如下所述的技术方案,包括:
30、获取模块,用于获取自动化部署配置;
31、判断模块,用于判断所述自动化部署配置是否正确,是则选择部署方式;
32、部署模块,用于根据所述自动化部署配置及所述部署方式,进行自动化部署;
33、监测模块,用于开启自动化部署状态监测线程,由所述自动化部署状态监测线程监测完成镜像数据传输和自动化部署任务。
34、为了解决上述技术问题,本专利技术还提供一种计算机设备,采用了如下所述的技术方案,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的基于java的自动化部署方法的步骤。
35、为了解决上述技术问题,本专利技术还提供一种计算机可读存储介质,采用了如下所述的技术方案,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的基于java的自动化部署方法的步骤。
36、与现有技术相比,本专利技术主要有以下有益效果:
37、通过配置g it项目的路径分支、本地和远程的docker所在服务器i p和账号密码、本地和远程镜像的地址,每次发布只需要指定发布的服务名称和镜像的版本号,便可以创建ssh以及sftp/ftp连接,实现镜像拉取、压缩、下载、上传、解压、推送,最后触发部署;先生成默认配置,然后根据实际业务的需求,可以修改其中harbor镜像地址、需要部署的服务名称以及构建好的镜像版本号,后续则能够进行自动化部署;与现有技术中的人工部署远程服务相比较,根据部署的镜像数量和网络带宽不同,时间可本文档来自技高网...
【技术保护点】
1.一种基于Java的自动化部署方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的基于Java的自动化部署方法,其特征在于,在所述步骤S1、获取自动化部署配置之前还包括:
3.根据权利要求1所述的基于Java的自动化部署方法,其特征在于,所述步骤S2、判断所述自动化部署配置是否正确,是则选择部署方式具体包括:
4.根据权利要求2所述的基于Java的自动化部署方法,其特征在于,所述数据结构包括:
5.根据权利要求2所述的基于Java的自动化部署方法,其特征在于:
6.根据权利要求3所述的基于Java的自动化部署方法,其特征在于,所述步骤S3、根据所述自动化部署配置及所述部署方式,进行自动化部署具体包括:
7.根据权利要求1至6任意一项所述的基于Java的自动化部署方法,其特征在于,所述步骤S4、开启自动化部署状态监测线程,由所述自动化部署状态监测线程监测完成镜像数据传输和自动化部署任务具体包括:
8.一种基于Java的自动化部署装置,其特征在于,包括:
9.一种计算机设备,包括存
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于Java的自动化部署方法的步骤。
...【技术特征摘要】
1.一种基于java的自动化部署方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的基于java的自动化部署方法,其特征在于,在所述步骤s1、获取自动化部署配置之前还包括:
3.根据权利要求1所述的基于java的自动化部署方法,其特征在于,所述步骤s2、判断所述自动化部署配置是否正确,是则选择部署方式具体包括:
4.根据权利要求2所述的基于java的自动化部署方法,其特征在于,所述数据结构包括:
5.根据权利要求2所述的基于java的自动化部署方法,其特征在于:
6.根据权利要求3所述的基于java的自动化部署方法,其特征在于,所述步骤s3、根据所述自动化部署配置及所述部署方式,进行自动化部署具体包括:...
【专利技术属性】
技术研发人员:张根,
申请(专利权)人:深圳联友科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。