阿里云Kubernetes实战3

  • 时间:
  • 浏览:3
  • 来源:5分排列5_5分排列3

整体的业务流程如下图所示:

以上所有的占位变量就有在Pipeline Script中赋值,关于Jenkins Pipeline的相关内容介绍这里不再多讲,还是去看官方文档靠谱。亲戚.我 这里将k8s的部署文件deployment.yaml与Jenkinsfile结合,即可做到一一三个小多多deployment.yaml能适配所有项目,一一三个小多多Pipeline Script模板能适配所有项目,针对不同的项目,只需在Pipeline Script中给占位变量赋值,大大降低了配置错综复杂度。下面是一一三个小多多项目的Jenkins配置示例:

针对每一一三个小多多软件项目增加部署目录,目录特性如下:

maven需用安装java环境,为了方便,我直接run一一三个小多多maven的docker image,编译完成后把hpi文件send出来

在整个DevOps的业务流程图上,亲戚.我 想使用钉钉作为通知土依据,相比邮件而言,实时性和扩展性都很高。在2018年4月,Jenkins的钉钉通知插件有两款,分别是Dingding JSON Pusher和Dingding notification plugin,前者长期未更新,愿因 只有使用,后者才能在非Pipeline模式下使用,对于Pipeline则有许多问题图片。虽然目前,Dingding notification plugin愿因 更新到1.9版本并支持了Pipeline,但在当时,亲戚.我 不得都没有1.4版本的基础上做二次开发。

在上一篇文章中,亲戚.我 愿因 在K8S集群部署了Jenkins、Harbor和EFK。作为本系列最后一篇文章,将通过实际案例串联所有的基础软件服务,基于K8S做DevOps。

Dockerfile和other files用于生成应用或服务的镜像

又如dotnet core项目的Dockerfile:

其中哪几个关键变量的解释如下:

本文转自中文社区-阿里云Kubernetes实战3–DevOps

deployent.yaml用于执行应用或服务在k8s上的部署

通过上端的配置,才能在一台目标机部署一一三个小多多用户对应一一三个小多多Jenkins Slave以满足亲戚.我 的业务需求。

如前端vue和nodejs项目的Dockerfile:

整体开发经过参考《Jenkins项目实战之-钉钉提醒插件二次开发举例》,总体来说还是比较简单:

综上,对于每个项目,亲戚.我 只需维护Dockerfile,并在Jenkins创建持续集成项目时,填写项目所需的参数变量。进阶情况报告下,也可定制性的修改deployment文件与pipeline script,满足不同的业务需用。至此,完结,撒花!

愿因 deployment有也不配置项才能抽离成公共配置,也不deployment的配置有也不占位变量,占位变量用一一三个小多多#上端加变量名表示,如下所示:

前言:

发布完成后,才能参考《持续集成CI实施指南三–jenkins集成测试》,做持续测试,测试结果也可通过钉钉通知。最后亲戚.我 利用自建的运维平台,监控阿里云ECS情况报告、K8S各组件情况报告、监控ES中的日志并做异扎得取和报警。形成一整套DevOps模式。

对于一一三个小多多项目,亲戚.我 只需配置Trigger和Pipeline,上图“Do not allow concurrent builds ”也是通过Pipeline的配置生成的。Pipeline Script示之类于下:

master和test文件夹用于区分测试环境和联 产环境的部署配置

愿因 业务需用,亲戚.我 的自动化测试需用基于windows做web功能测试,每一一三个小多多测试任务独占一一三个小多多windows用户桌面,也不亲戚.我 首好难给Jenkins配置哪几个Windows的Slave Node.在我刚刚 的post《持续集成CI实施指南三–jenkins集成测试》中完整讲解了给Jenkins上加Node的土依据步骤。 本篇不不重复,但这里主要讲的是,咋样在一台Windows服务器上搭建多个Jenkins Node,供多用户使用。