Jenkins+Git+Docker+K8s部署 - Go语言中文社区

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

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

298680-20190513151236374-982777694.png

298680-20190513151249692-1207890275.png

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

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

298680-20190513151308329-2044608817.png

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

298680-20190513151321539-2094888744.png

源码获取:Source Code Management

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

298680-20190513151351798-887200658.png

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

构建-Build

前端项目

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

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

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

298680-20190513151406791-2020189091.png

后端项目

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

clean install -U -Pbeta -e

如图

298680-20190513151412956-2068558206.png

Build-Post Steps

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

先上图:

298680-20190513151440176-12850931.png

这里使用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'`"}}}}}"

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

298680-20190513151451077-1183803863.png

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

298680-20190513151514259-987237063.png

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

转载于:https://www.cnblogs.com/LOVEYU/p/10856797.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/diaoyan8751/article/details/101208363
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 10:41:36
  • 阅读 ( 1668 )
  • 分类:docker

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢