课程概述
注重理论和实践的结合,强调实操动手能力并配合际业务场景,为学员提供真实的理论指导。学员将会在讲师引领下,全面学习DevOps工程师从搭建具平台,了解应用架构,设计研发管理流程,搭建流水线并通过各种DevOps实践改进研发效能的全过程。
DevOps 工程师专注于软件本身,关注软件开发、测试运维的特性,特别适合那些喜欢钻研技术本身,对于新工具、新方法特别感兴趣的技术范儿青年。
DevOps 已经被IT界普遍接受为一种可以帮助企业和团队提升开发效率,改善工作氛围和员工满意度,以及激发组织创新力的一整套有效实践。DevOps工程师也已经是IT行业内炙手可热的职位。据国内各大互联网招聘平台统计,DevOps工程师的薪资普遍高于同等工作经验的开发程师,DevOps工程师已经成为IT领域高薪人才的聚集地,各个互联网大厂(包括 BATJMD )都在持续招聘DevOps工程师职位。
课程特色
● 全部开源
Boathouse来源于社区驱动的开源共创项目,全部代码通过GitHub永久开源,免费提供给社区。
● 通用技术栈
提供一套开箱即用的典型企业架构应用,并提供了移动端代码。
Java Spring | .Net Core | Vue
● 线上实操
每个小组提供2套实战环境,配合讲师课堂演示和详细的操作手册,确保立即上手使用。
DevOps实验室
● 端到端DevOps工具链
适配了全套开源免费的DevOps工具链,提供最底成本的DevOps工具链解决方案。
lorem ipsum with lorem ipsum
● 团队协作
分组学习,团队监督,确保学习质量
课程大纲
第1讲 DevOps和持续交付,实现百倍效能提升的秘籍
全面讲解DevOps知识体系,持续交付的七大改进领域和企业级CI/CD流水线系统架构。
基于15年研发效能改进的时间经验,充分总结出实现百倍效能提升的2大秘籍,结合经典的额持续交付七大改进领域,构成了Boathouse DevOps实战训练营的理论基础。本段课程还将展示利用Boathouse持续交付流水线完成版本上线的全过程。
第2讲 Boathouse 端到端流水线实战
企业级端到端CI/CD流水线现场演示
从代码提交,分支策略,代码评审,持续集成,静态代码检查,单元测试及覆盖率, Docker容器化打包,镜像制品上传,测试环境部署,自动化接口测试,测试到生产环境晋级,Kubernetes(k8s)容器集群环境部署的全过程。
全程参加培训的学员将有能力完整搭建以上全部模块。
第3讲 基于Docker的容器化技术实战
容器化技术是现代应用的核心DevOps实践,可以完美解决应用开发测试和运维中的版本交付可靠、运维环境稳定性和大规模应用的动态扩容问题。
本节课程详细讲解基于Docker的容器化技术的工作原理和常用操作。覆盖从Dockerfile编写,编译,打包,镜像发布,镜像拉取,部署,升级,多镜像环境编排以及应用容器化改造等场景。
实操Docker, Docker-Compose和镜像仓库环境Harbor的搭建和常见操作,完成BoatHouse应用镜像的编译打包发布全过程
第4讲 基于Git的源代码管理和分支策略实战
Git已经成为全球范围最受开发人员喜爱的源代码管理工具, Git的很多特性对于提高开发人员工作效率非常有效,对于大规模团队开发来说,Git也提供了丰富的解决方案和工具支撑。
本节课程详细讲解Git源代码管理工具的工作原理和常用操作。覆盖Git clone/branch/merge/push基础操作,合并请求的创建,更新,完成。
实操GitLab服务器的搭建和初始化,完成Boathouse应用代码库的创建,推送,拉取和典型的基于特性分支的开发过程操作。
第5讲 基于Jenkins的流水线环境搭建和CI/CD搭建实战
持续交付流水线是DevOps的关键实践,流水线串接源代码管理,自动化编译构建和打包,自动化测试和部署,并集成质量门禁,成为企业级DevOps工作流中最重要的核心组件。
本节课程将详细讲解持续交付流水线的工作原理,技术架构和常见流水线结构。覆盖代码拉取,自动化编译和打包,Docker镜像打包和推送,单机容器环境的部署。
实操:Jenkins服务器的搭建和Boathouse应用CI/CD基础流水线的搭建和运行。
第6讲 实现企业级流水线质量门禁
流水线质量门禁可以帮助开发团队提升代码质量,避免问题代码和质量问题流入下一环节,是DevOps单件流原则在流水线上的实际落地方式。
本节课程将详细讲解单元测试,覆盖率,静态代码检查等常见质量门禁的实现方式。
实操:在BoatHouse基础流水线上增加Junit/Mocha, JaCoCo/Cobertura, SonaQube等工具实现以上质量门禁。
第7讲 实现企业级接口管理和基于接口的自动化测试平台
企业级微服务应用开发中涉及多个服务/系统间的接口调用,当服务和系统数量增多后如何管理接口和保证系统间接口的稳定性就成为一个大问题。
本节课程将详细讲解如何使用【消费者驱动的契约测试】工作模式实现微服务架构下的多服务多团队高效接口管理和测试流程。
实操:在BoatHouse应用开发环境中引入基于Pact-Borker和契约测试流程,并借助Postman, JMeter实现自动化接口测试。
第8讲 Kubernetes(k8s)容器化集群的工作原理和实战
K8s集群已经成为当前企业级应用运维的事实标准,很多企业在搭建内部PaaS云的时候都选择了基于K8s的技术栈。
本节课程将详细讲解k8s集群的架构和核心组件,kubectl的常用操作,Deployment, Service, Pod, Ingress, Volume, ConfigMap, Secret等常见概念以及yaml部署的工作原理和操作。
实操:搭建kubectl操作环境并使用kubectl完成Boathouse应用的k8s环境部署,在Boathouse流水线中完成k8s环境的自动化部署。