Jenkins+Git+Docker+K8s部署

准备工作

  1. Jenkins已安装
  2. Docker和K8s部署运行成功
  3. 代码管理工具使用Git

最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相关操作,以便留存查看。

项目和工具介绍

这里有两个项目:前端和后台,同样都是使用Git代码管理工具,目前是使用所谓的微服务进行发布操作,结合Docker和K8s进行部署发布。

部署步骤

传统的服务发布步骤:

  1. 拉取最新的代码
  2. 使用ant或其他工具编译项目代码
  3. 将编译的项目代码(有些配置文件是不变的,需要覆盖),打包上传到tomcat或glassfish部署
  4. 重启服务

而使用jenkins之后,我们只需要鼠标轻轻一点,即可完成1-4的操作;省时省力,缩短了我们的构建时间,使得错误率大大降低。其中jenkins还可以根据项目实际情况,进行定时构建。

jenkins详细部署

新建项目-Genenral

我们首先新建一个*风格的项目,设置项目的名称,然后进行项目设置详情基础页面,如图

Jenkins+Git+Docker+K8s部署

Jenkins+Git+Docker+K8s部署

如上图所示:在Gnenral中设置了项目的基本描述、构建结果保存以及参数化构建过程,其中[丢弃旧的构建]:是保存N次构建结果信息,而参数化构建,这里是直接获取Git的分支进行构建。这里使用的是插件[Git Parameter]进行参数化构建,首次使用需安装此插件。

丢弃旧的构建:即保存最近N次的构建结果,查看如图

Jenkins+Git+Docker+K8s部署

参数化构建:获取Git分支进行构建部署,如图

Jenkins+Git+Docker+K8s部署

源码获取:Source Code Management

拉取最新的代码信息,这里使用的工具是Git,配置具体如图

Jenkins+Git+Docker+K8s部署

这里配置了Git的URL地址以及使用的账号信息,其次还有就是拉取的分支信息,Git工具默认使用Jenkins自带的版本即可。

构建-Build

前端项目

这里执行构建的时候,前端项目使用的是shell执行命令,使用的命令如下

cd $WORKSPACE
yarn install --ignore-engines
yarn build

前端项目部署需要先执行此问题,具体的项目有不同的执行命令,如图

Jenkins+Git+Docker+K8s部署

后端项目

而一般后台,使用的是Maven进行构建的,编译命令如下

clean install -U -Pbeta -e

如图

Jenkins+Git+Docker+K8s部署

Build-Post Steps

前面说过此项目是微服务搭建的,使用到了Docker和K8s,这里就用到了Docker。

先上图:

Jenkins+Git+Docker+K8s部署

这里使用Docker有三个步骤

  1. 创建image:Creat image,说明是使用哪个分支
  2. 推送image至服务器:Push image
  3. 删除原来的image:Remove image

重启服务

这里是使用Kubernetes进行服务的重启和发布,命令如下

kubectl patch deployment 项目名称 -p \
"{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}"

具体执行命令信息可以参考运维或开发人员的脚本,如图

Jenkins+Git+Docker+K8s部署

至此,使用Jenkins+Git+Docker+K8s完成了项目的部署,接下来进行构建的时候,可以直接点击[Build with Parameters]拉取不同的分支进行项目构建部署,如图

Jenkins+Git+Docker+K8s部署

这里只说明了的Docker和K8s如何配合Jenkins如何使用,更详细的使用方法和命令可以自行百度

上一篇:源代码管理的十条戒律


下一篇:Android应用性能优化最佳实践.2.2 性能分析工具