中国财富新闻网

您的位置:首页 > 财经评论 >

GitOps—CD部分每个子目录为一个服务模块

单应用与环境

多应用与环境

CI持续集成

首先,准备一个代码库:

我们来梳理一下CI流水线的步骤:

由于此次实现的代码仓库类型为单一存储库,即一个存储库存放多个服务模块代码,每个子目录为一个服务模块 首先,我们的持续集成流水线需要能够正确获取,当前的commit是哪个服务的代码 确定好服务,然后下载该服务的代码,进行编译打包,单元测试,代码扫描和构建镜像等步骤

如何获取commit的服务信息这里我们使用GitLab WebHook功能和Jenkins 的job 构建触发器对接来实现

工作流程是:当我在Gitlab提交了代码,会通过GitLab webhook 触发Jenkins Scheduler 作业, 会将此次提交代码所产生的hook data数据信息以POST的方式传给Jenkins Job此时Jenkins job可以编写使用Generic Hook插件获取此次POST请求传输过来的请求体Body信息是一段JSON数据, 该job运行后编写Pipeline 解析JSON中的数据拿到所变更的服务模块信息最后触发对应服务的CI作业进行构建

CI—Scheduler 作业

CI流水线—CI作业

每个微服务创建一个CI作业,具有三个字符串参数:分支名称,commitID,项目ID。

在原始CI作业的步骤基础上,增加了一个更新环境的步骤GitOps实践会将当前的基础环境部署文件存放到一个Git仓库中我们的CI作业在完成镜像上传后,同时更新环境部署文件中的镜像标签信息

images

GitOps—CD部分

CD—Scheduler作业

Jenkinsfile pipelineagentanystagesstagestepsscriptecho'HelloWorld'echo"$WebHookData"//GitInfowebhookdata=readJSONtext:"""$WebHookData"""eventType=webhookdatacommits=webhookdatabranchName=webhookdata—"refs/heads/"projectID=webhookdatacommitID=webhookdatachangeServices=forprintln//addedfors=add.splitasListifif)—1)changeServices.add(s(0))//modifiedfor(mincommit.modified)s=m.splitasList//printlns//printlns.size//printlns(0)if//printlnchangeServices.indexOf(s(0))if)—1)changeServices.add(s(0))//removedfor(rincommit.removed)s=r.splitasListprintlnsifif)—1)changeServices.add(s(0))println(changeServices)currentBuild.description="Triggerby$eventType$changeServices"stage('DefineService')stepsscriptprintln(changeServices)//服务构建顺序控制services=('service02','service01')for(serviceinservices)if(changeServices.indexOf(service)!=—1)jobName='microservicecicd—'+service+'—service—CD'buildjob:jobName,wait:false,parameters:(string(name:'branchName',value:"$branchName")) 环境库配置webhook

CD流水线—CD作业

栏目导读

消博会“神仙打架”:国际巨头入华抢滩新赛道,本土品牌欲出海

消博会“神仙打架”:国际巨头入华抢滩新赛道,本土品牌欲出海

作者:叶子琪

作者:周嘉宝尽管上半年本土疫情的反复让零售市场承压,但中国这片消费热土仍被所有人寄予厚望。7月25日,第二届中国国际消费品博览会在海南海口拉开帷幕。时代财经发现,上半年零售市场的低迷情绪并没有蔓延至这场规格颇高的展会中。作为此次展会主战场,...

2023年定为“消费提振年”,广州消费市场大派“红包”

2023年定为“消费提振年”,广州消费市场大派“红包”

作者:子墨

兔年第一个工作日,刷屏的除了有“开工大吉”,还有政府派发的“大红包”。1月28日,全省高质量发展大会在广州召开。紧随其后,当天下午,广州召开全市高质量发展大会。会上,广州市商务局局长洪谦透露一个重磅信息——广州将2023年定为“消费提振年”...

无人货架凉了新零售的发展新机会在哪?

无人货架凉了新零售的发展新机会在哪?

作者:张璠

摘要:正如电商概念的完善和发展经历了一个过程一样,新零售的发展同样要经历一个从萌芽到成熟的过程。从这个逻辑来看,当前出现的无人货架困境是新零售概念发展成熟的过程当中必然要经历的一个阶段。图片来源:视觉中国从某种程度上来讲,无人货架打了新零售...

华润啤酒欲牵手喜力啤酒业“利润时代”打响高端之争

华润啤酒欲牵手喜力啤酒业“利润时代”打响高端之争

作者:苏婉蓉

中新经纬客户端3月13日电(贺陈慧)积极探索并购机会的华润啤酒,正在加快对啤酒高端市场的布局。3月9日,因传华润啤酒欲收购喜力中国业务,华润啤酒发布价格和成交量异常波动的公告,公告中提到,公司及公司控股股东经常探索和进行有关潜在交易的商业和...