Python 测开27期 - WL - 学习笔记 - 持续集成/持续交付

持续集成/持续交付

持续集成

定义

  • 持续:高频的执行任务,高度依赖工程自动化
  • 集成:把多个模块组合在一起形成一个子系统

持续交付和持续部署

定义

  • 持续交付的产出物,可以直接交付给客户部署的产出物,从0到1的
  • 持续部署:直接把包部署到生产环境

使用

  • 代码提交
  • 流水线
    ** 代码扫描
    ** 单元测试
    ** 覆盖率统计
    ** 编译出包(jar/镜像)
  • 环境部署
  • 自动化集成测试
  • 示例
    ** master:生产环境,功能验证
    ** release:预发环境,测试回归,
    ** develop:研发主要的代码提交分支,主测试分支
    ** Feat(特性分支):研发各自的主要开发分支,完毕后提交合并到develop
    ** toB或私有化部署,针对不同定制需求会有不同的版本,测试时也需要针对不同版本进行设定测试

Jenkins

  • config system 配置插件

  • git maven pipeline docker allure

  • 执行任务,指定label为想要执行的机器,负载均衡

  • 不同的机器打上满足条件的标签,可以打多个标签,空格分隔

用法:

    1. 尽可能使用此节点标签
    1. 选择标签后使用

K8S 流程

    1. jenkins通过K8S api创建一个pod
    1. pod中启动一个jnlp容器
    1. jnlp容器负责与Jenkins通信并把自己注册成一个work系欸但那
    1. 任务结束后Jenkins调用K8S销毁容器