目录
🧡什么是DevOps?
🧡什么是CI/CD?
💟这里是CS大白话专场,让枯燥的学习变得有趣!
💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!
💟好记性不如烂键盘,自己总结不如收藏别人!
🧡什么是DevOps?
💌 DevOps 是 Development(开发)+ Operations(运维) 的组合词,是一组过程、方法与系统的统称,用于促进软件开发、测试和运维部门之间的沟通、协作与整合,涉及软件在整个开发生命周期中的持续开发,持续测试,持续集成,持续部署和持续监控。
💌 DevOps完整流程:需求设计 → 开发代码(IDEA、Eclipse、VSCode) → 推送代码仓库(GitHub、GitLab) → 编译构建(Maven、Jenkins)→ 质量分析 → 测试(JUnit)→ 打成jar包 → Docker部署 → 推送镜像仓库(Docker Hub) → 部署K8S平台 → 监控 → 发现问题 → ...
🧡什么是CI/CD?
💌 DevOps的核心思想就是 CI/CD,Jenkins是CI/CD的领导者:
🍠CI(Continuous Integration):持续集成,强调开发人员提交了新代码之后,立刻自动的进行构建、(单元)测试。根据测试结果,确定新代码和原有代码能否正确地集成在一起。
🍠CD:包含两个过程:
Continuous Delivery:持续交付,在持续集成的基础上,手动将集成后的代码部署到模拟真实运行环境中。交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
Continuous Deployment:持续部署,当交付的代码通过评审之后,自动部署到真实生产环境中。
💌 KubeSphere CI/CD 流水线基于底层 Kubernetes Jenkins Agent 而运行。这些 Jenkins Agent 可以动态扩缩,即根据任务状态进行动态供应或释放。Jenkins Controller 和 Agent 以 Pod 的形式运行在 KubeSphere 节点上。Controller 运行在其中一个节点上,其配置数据存储在一个持久卷声明中。Agent 运行在各个节点上,但可能不会一直处于运行状态,而是根据需求动态创建并自动删除。当 Jenkins Controller 收到构建请求,会根据标签动态创建运行在 Pod 中的 Jenkins Agent 并注册到 Controller 上。当 Agent 运行完任务后,将会被释放,相关的 Pod 也会被删除。
💌 之后我们会使用 KubeSphere 完成 DevOps 项目部署流程。