• 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

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

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

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

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

    源码获取:Source Code Management

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

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

    构建-Build

    前端项目

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

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

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

    后端项目

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

    clean install -U -Pbeta -e
    

    如图

    Build-Post Steps

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

    先上图:

    这里使用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完成了项目的部署,接下来进行构建的时候,可以直接点击[Build with Parameters]拉取不同的分支进行项目构建部署,如图

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

  • 相关阅读:
    python中list添加元素的方法append()、extend()和insert()
    Python中的短路计算
    Python文件的读写
    Python匿名函数
    Python中的引用传参
    持续学习大纲
    【Mysql】Datetime和Timestamp区别,及mysql中各种时间的使用
    【JDK源码】 ☞ HashMap源码分析及面试汇总
    算法复杂度实例 -- O(1) O(n) O(logN) O(NlogN)
    Solr使用总结
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/10856797.html
Copyright © 2020-2023  润新知