一种go微服务自动化部署的方法及系统技术方案

技术编号:33248363 阅读:11 留言:0更新日期:2022-04-27 18:05
本发明专利技术提供了一种go微服务自动化部署的方法,包括以下步骤:步骤S1、编写一批处理文件,从代码目录生成可执行二进制文件,将可执行二进制文件复制到打包目录和复制配置文件打包目录;步骤S2、编写构建镜像所需的文件,进入打包目录,执行生成容器镜像命令,打包容器镜像文件,将容器镜像文件上传至镜像仓库内;步骤S3、服务器执行拉取镜像仓库的命令,判断是否存在新增容器镜像文件,是,则更新执行容器镜像文件自动编排命令,否,则等待下次拉取镜像仓库;本发明专利技术能够实现docker开源容器引擎和批处理文件实现从windows系统一键打包至linux服务器的部署。linux服务器的部署。linux服务器的部署。

【技术实现步骤摘要】
一种go微服务自动化部署的方法及系统


[0001]本专利技术涉及计算机
,特别是一种go微服务自动化部署的方法及系统。

技术介绍

[0002]随着单体应用越来越庞大,单体架构的弊端将会愈专利技术显,例如项目臃肿,难维护,难扩展,牵一发而动全身。在分布式环境中,按照业务边界进行划分,将单体应用拆分为一系列服务,共同组成整个系统。微服务架构解决单体应用痛点的情况下,也衍生了一些新的问题,例如如何快速部署,如何编排管理等等。

技术实现思路

[0003]为克服上述问题,本专利技术的目的是提供一种能够实现将批处理文件从windows系统一键打包至linux服务器的部署的方法。
[0004]本专利技术采用以下方案实现:一种go微服务自动化部署的方法,其包括以下步骤:
[0005]步骤S1、编写一批处理文件,从代码目录生成可执行二进制文件,将可执行二进制文件复制到打包目录和复制配置文件打包目录;
[0006]步骤S2、编写构建镜像所需的文件,进入打包目录,执行生成容器镜像命令,打包容器镜像文件,将容器镜像文件上传至镜像仓库内;
[0007]步骤S3、服务器执行拉取镜像仓库的命令,判断是否存在新增容器镜像文件,是,则更新执行容器镜像文件自动编排命令,否,则等待下次拉取镜像仓库,从而能够实现docker开源容器引擎和批处理文件实现从windows系统一键打包至linux服务器的部署。
[0008]进一步的,所述步骤S1进一步具体为:进入代码目录,在代码目录下创建打包目录app,设置go微服务编译的环境参数,执行go微服务打包命令,会生成一个名为myprogram的可执行二进制文件到app目录,二进制文件就是go微服务程序生成的执行文件,再复制代码目录下的app.config配置文件到app目录用于程序读取配置数据。
[0009]进一步的,所述步骤S2进一步具体为:提前准备构建镜像所需文件dockerfile,内容为设置中国时区,设置编码,声明容器的访问端口和启动容器时的运行命令,此时打包目录app有三个文件,分别是dockerfile镜像文件、myprogram可执行二进制文件和app.config配置文件,进入打包目录app,执行生成容器镜像命令docker build,再执行上传镜像命令docker push上传至容器镜像仓库。
[0010]进一步的,所述步骤S3进一步具体为:在服务器上编写一个检测程序,检测程序能够使服务器每隔五秒执行拉取镜像仓库的命令,判断镜像仓库内是否存在新的容器镜像文件,是,则执行容器部署命令执行容器编排文件,对容器进行文件进行编排配置部署,否,则等待下次拉取镜像仓库。
[0011]本专利技术还提供了一种go微服务自动化部署的系统,包括生成模块、执行打包模块和运行模块,所述生成模块,即编写一批处理文件,从代码目录生成可执行二进制文件,将可执行二进制文件复制到打包目录和复制配置文件打包目录;所述执行打包模块,即编写
构建镜像所需的文件,进入打包目录,执行生成容器镜像命令,打包容器镜像文件,将容器镜像文件上传至镜像仓库内;所述运行模块,即服务器执行拉取镜像仓库的命令,判断是否存在新增容器镜像文件,是,则更新执行容器镜像文件自动编排命令,否,则等待下次拉取镜像仓库,从而能够实现docker开源容器引擎和批处理文件实现从windows一键打包至linux服务器的部署。
[0012]进一步的,所述生成模块进一步具体为:进入代码目录,在代码目录下创建打包目录app,设置go微服务编译的环境参数,执行go微服务打包命令,会生成一个名为myprogram的可执行二进制文件到app目录,二进制文件就是go微服务程序生成的执行文件,再复制代码目录下的app.config配置文件到app目录用于程序读取配置数据。
[0013]进一步的,所述执行打包模块进一步具体为:提前准备构建镜像所需文件dockerfile,内容为设置中国时区,设置编码,声明容器的访问端口和启动容器时的运行命令,此时打包目录app有三个文件,分别是dockerfile镜像文件、myprogram可执行二进制文件和app.config配置文件,进入打包目录app,执行生成容器镜像命令docker build,再执行上传镜像命令docker push上传至容器镜像仓库。
[0014]进一步的,所述运行模块进一步具体为:在服务器上编写一个检测程序,检测程序能够使服务器每隔五秒执行拉取镜像仓库的命令,判断镜像仓库内是否存在新的容器镜像文件,是,则执行容器部署命令执行容器编排文件,对容器进行文件进行编排配置部署,否,则等待下次拉取镜像仓库。
[0015]本专利技术的有益效果在于:本专利技术能够实现go微服务程序在跨平台环解的一键编译和部署,减轻了微服务架构下多服务快速部署的痛点。
附图说明
[0016]图1是本专利技术的方法流程示意图。
[0017]图2是本专利技术的系统原理框图。
具体实施方式
[0018]下面结合附图对本专利技术做进一步说明。
[0019]请参阅图1所示,本专利技术的一种go微服务自动化部署的方法,其包括以下步骤:
[0020]步骤S1、编写一批处理文件,从代码目录生成可执行二进制文件,将可执行二进制文件复制到打包目录和复制配置文件打包目录;
[0021]步骤S2、编写构建镜像所需的文件,进入打包目录,执行生成容器镜像命令,打包容器镜像文件,将容器镜像文件上传至镜像仓库内;
[0022]步骤S3、服务器执行拉取镜像仓库的命令,判断是否存在新增容器镜像文件,是,则更新执行容器镜像文件自动编排命令,否,则等待下次拉取镜像仓库,从而能够实现docker开源容器引擎和批处理文件实现从windows系统一键打包至linux服务器的部署。
[0023]下面通过一具体实施例对本专利技术作进一步说明:
[0024]步骤1、编写批处理文件从代码目录生成可执行二进制文件到打包目录和复制配置文件打包目录。
[0025]编写批处理文件内容如下:进入代码目录,在代码目录下创建打包目录app,设置
go编译的64位linux环境参数set GOARCH=amd64 set GOOS=linux,用于设置go编译的64位linux环境参数,执行go打包命令go build

o myprogram app,会生成一个名为myprogram的可执行二进制文件到app目录,二进制文件就是go程序生成的执行文件,再复制代码目录下的app.config到app目录,配置文件app.config用于程序读取配置数据使用。myprogram这个就是生成的二进制文件名称,是go build

o myprogram app中的myprogram,可以根据自己项目名称指定。内容如下:
[0026]rem进入代码目录
[0027]e:
[0028]cd E:\GoPath\src\serve本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种go微服务自动化部署的方法,其特征在于,包括以下步骤:步骤S1、编写一批处理文件,从代码目录生成可执行二进制文件,将可执行二进制文件复制到打包目录和复制配置文件打包目录;步骤S2、编写构建镜像所需的文件,进入打包目录,执行生成容器镜像命令,打包容器镜像文件,将容器镜像文件上传至镜像仓库内;步骤S3、服务器执行拉取镜像仓库的命令,判断是否存在新增容器镜像文件,是,则更新执行容器镜像文件自动编排命令,否,则等待下次拉取镜像仓库,从而能够实现docker开源容器引擎和批处理文件实现从windows系统一键打包至linux服务器的部署。2.根据权利要求1所述的一种go微服务自动化部署的方法,其特征在于:所述步骤S1进一步具体为:进入代码目录,在代码目录下创建打包目录app,设置go微服务编译的环境参数,执行go微服务打包命令,会生成一个名为myprogram的可执行二进制文件到app目录,二进制文件就是go微服务程序生成的执行文件,再复制代码目录下的app.config配置文件到app目录用于程序读取配置数据。3.根据权利要求1所述的一种go微服务自动化部署的方法,其特征在于:所述步骤S2进一步具体为:提前准备构建镜像所需文件dockerfile,内容为设置中国时区,设置编码,声明容器的访问端口和启动容器时的运行命令,此时打包目录app有三个文件,分别是dockerfile镜像文件、myprogram可执行二进制文件和app.config配置文件,进入打包目录app,执行生成容器镜像命令docker build,再执行上传镜像命令docker push上传至容器镜像仓库。4.根据权利要求1所述的一种go微服务自动化部署的方法,其特征在于:所述步骤S3进一步具体为:在服务器上编写一个检测程序,检测程序能够使服务器每隔五秒执行拉取镜像仓库的命令,判断镜像仓库内是否存在新的容器镜像文件,是,则执行容器部署命令执行容器编排文件,对容器进行文件进行编排配置部署,否,则等待下次拉取镜像仓库。5.一种go微服务自动化部署的系统,...

【专利技术属性】
技术研发人员:刘德建叶伟李佳
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1