版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元整体设计1单元名称任务1部署Kubernetes集群和Harbor(第1-4课时)授课课时4课时(2节授课+2节实验)单元教学目标知识目标①了解Kubernetes基本架构与核心概念;②熟悉Harbor私有镜像仓库的功能与特性;③掌握Kubernetes集群部署的基础环境配置步骤;④掌握kubeadm初始化集群、Node加入集群及网络插件Flannel的安装方法;⑤掌握Harbor的离线安装、docker-compose使用及与Kubernetes集成的基本配置。能力目标①能够独立在VMwareWorkstation中创建虚拟机并安装openEuler22.03操作系统;②具备部署Kubernetesv1.28.12集群的实操能力,能完成基础环境配置、组件安装及集群初始化;③能够部署Harbor私有镜像仓库,并配置Dockerinseure-registries实现镜像上传与拉取;④能够通过kubectl命令部署Nginx应用,验证集群与Harbor的协同工作;⑤具备初步的集群排错与日志分析能力。素质目标①培养严谨务实、规范操作的职业素养,强化生产环境中部署高可用集群的安全意识;②提升团队协作与文档阅读能力,按照技术文档规范完成部署任务;③树立国产操作系统openEuler及开源生态的技术自信,激发对云原生技术的钻研精神;④养成记录操作日志、反思常见错误的习惯,形成持续改进的工作作风。单元教学内容设计①Kubernetes架构与核心组件解析;②Harbor企业级镜像仓库原理;③虚拟机环境准备与openEuler系统安装;④Kubernetes集群部署:基础配置(hosts、防火墙、Swap、YUM源、Docker、cri-dockerd)、kubeadm初始化、Flannel网络插件、Node节点加入;⑤Harbor离线部署与docker-compose;⑥集群功能验证:通过Harbor上传镜像并运行NginxDeployment+Service;⑦自动化与排错思路。教学重点①Kubernetes基础环境配置(关闭swap,配置内核参数,docker与cri-dockerd);②kubeadminit初始化集群及参数含义;③工作节点加入集群命令及--cri-socket指定;④Harbor安装及与Kubernetes集成(insecure-registries);⑤使用kubectl部署应用验证集群功能。教学难点①理解cri-dockerd作用及Kubernetes容器运行时接口(CRI);②Flannel网络插件工作原理及PodCIDR规划;③Harbor配置https与http混合场景下的安全策略,及Dockerdaemon.json配置生效;④集群初始化失败常见原因分析(端口冲突、镜像拉取、时间同步等);⑤将私有镜像仓库与Kubernetes结合,并通过ServiceNodePort对外暴露应用。教学组织与方法采用“项目驱动+理实一体”教学法,配合分组实操与讲练结合。通过真实企业级任务“部署K8s集群及Harbor”贯穿课堂:教师演示关键步骤(YUM源配置、kubeadminit、Harbor安装),学生同步操作,难点环节采用微视频/流程图辅助。运用信息化手段(学习通、广播系统)实施过程性评价,注重突破集群初始化与网络插件的配置难点,强化小组互助。
单元详细设计授课名称部署Kubernetes集群和Harbor(构建GPMall项目基础系统)授课课时4课时(2节授课+2节实验)授课班级J24012授课专业云计算技术应用授课地点云计算大数据实训室授课类型理论课£理实一体课R实践课£学情分析授课对象为云计算专业大二学生,已具备Linux基础(CentOS/OpenEuler操作)、Docker基本命令、网络基础。但学生对容器编排、Kubernetes整体架构认知较浅,对集群部署中的内核参数调整、cri-dockerd作用、网络组件选型存在畏难情绪。学生动手意愿强烈,但对生产级部署规范了解不足。前期通过云原生概论已有一定概念,本次需要强化实操规范与排错能力。采用调查问卷+随堂测试了解掌握度,借助虚拟化环境降低部署门槛,分组互评提升团队协作。教学目标知识目标①了解K8sMaster/Node核心组件及其作用;②掌握kubeadm部署流程和关键参数;③理解Harbor在企业镜像管理中的价值;④熟记Flannel网络插件的作用及部署命令。能力目标①能够独立完成集群基础环境配置(YUM源、时间同步、内核模块加载);②能够使用kubeadm初始化集群及加入节点;③能够安装Harbor并配置Docker私有仓库;④能够通过kubectl运行容器化应用并验证。素质目标①养成严谨的配置文档记录习惯,遵守集群部署规范;②培养精益求精的工匠精神,遇到报错能冷静分析日志;③强调开源精神与国产操作系统应用意识;④提升团队协作能力,共同完成集群搭建任务。教学重难点教学重点:基础环境配置(关闭swap、设置内核参数、Docker+cri-dockerd)、kubeadminit及join集群、Harbor安装及与K8s集成。教学难点:cri-dockerd适配机制、Flannel网络通信原理、集群初始化失败排查思路、Harbor私有仓库认证与K8s镜像拉取策略。教学方法任务驱动法+演示法+小组合作探究。教师首先发布“构建K8s集群及私有镜像仓库”任务,分解子任务;关键步骤采用教师演示+学生同步操作,穿插问题引导;利用思维导图梳理Master/Node组件;对于集群初始化指令,进行参数剖析;依托学习通平台上传配置文件,学生参考文档独立完成,最后小组互检集群状态。教学环境及资源准备硬件:高性能服务器/工作站(支持虚拟化)、学生机每人2台虚拟机配置(4核8G)。软件:VMwareWorkstation17、openEuler22.03LTS镜像、DockerCE、Kubernetes1.28.12二进制包、cri-dockerdrpm、Harbor离线包v2.12.2、kube-flannel.yml。教学平台:学习通在线课程、课前预习微课、集群部署检查脚本。资源:实验指导书、屏幕广播系统。教学过程设计教学环节及时间分配教学内容师生活动设计意图课前1.发布课前任务单:观看Kubernetes架构介绍视频,了解kubeadm基本命令;2.学生自主阅读教材6.1节,完成预习;3.学生提前安装VMware并下载openEuler镜像。教师:通过学习通推送学习资料、预习问题清单,查看预习统计,调整教学策略。学生:观看微课,完成测验,记录疑惑。小组长检查虚拟机准备情况。激发学生兴趣,为课堂实操节省系统安装时间,明确重难点方向,实现翻转课堂前置知识铺垫。课中课中:复习与导入(10min)1.复习:Docker基本命令,容器与镜像关系;2.导入:生产环境中成百上千容器如何管理?引入Kubernetes编排能力以及私有镜像仓库Harbor的价值,展示集群拓扑图。教师:提问“如何管理大规模容器集群”,播放实际业务场景视频;展示“K8s+Harbor”大屏架构图。学生:思考回答,明确本次任务目标,积极互动。建立知识与实际场景的关联,激发学习动机,明确“为什么学集群部署”。课中:基础环境配置(20min)(重点环节)1.配置hosts文件、关闭防火墙和SELinux、关闭swap(永久禁用);2.配置openEulerYUM源(Docker源+K8s源);3.安装Docker-ce及cri-dockerd,配置systemd驱动;4.加载overlay、br_netfilter内核模块,配置sysctl参数;5.安装kubeadm、kubelet、kubectl,并设置kubelet开机自启。突出“四新”:openEuler国产系统部署、cri-dockerd适配新运行时、K8sv1.28新特性。教师:广播演示master节点关键配置命令,强调swapoff持久化、内核参数验证方法;提醒学生注意每步验证。学生:跟随教师指令在master与node节点同步配置,互相检查配置结果,截图保存配置文件。基础环境是集群稳定的基石,通过标准化配置培养学生规范意识,突破难点为后续初始化扫清障碍,同时锻炼学生查阅文档能力。课中:部署Kubernetes集群(20min)(核心+难点突破)1.Master节点执行kubeadminit;2.配置kubectl访问凭证;3.安装Flannel网络插件:kubectlapply-fkube-flannel.yml;4.生成join命令,Node节点执行加入集群,强调--cri-socket参数;5.验证集群:kubectlgetnodes,查看kube-systempod状态。6.排错讲解:查看journalctl-xeukubelet,镜像拉取失败切换阿里源等。教师:分解kubeadminit每个参数的含义,演示初始化成功后如何保存join命令,展示Flannelyaml应用。巡回指导,针对常见报错(token过期、cri不一致)进行提示。学生:实际操作master初始化,复制保存token,在node节点执行join;运行kubectlgetnodes验证集群状态;填写任务工单完成情况。通过真实初始化过程加深对控制平面组件理解,培养独立完成高难度部署任务的能力,小组互助解决网络插件问题,提升成就感。课中:部署Harbor私有镜像仓库(20min)1.上传docker-compose及harbor离线包至master;2.解压配置harbor.yml(修改hostname为主节点IP,注释https);3.执行install.sh安装Harbor;4.所有节点配置Dockerdaemon.json添加insecure-registries,重启docker;5.登录HarborUI;6.测试推送nginx镜像至Harbor,并配置K8s使用私有仓库镜像运行Deployment。教师:演示Harbor配置及自动化启动脚本,强调insecure-registries安全场景,展示dockerlogin和push过程。学生:同步操作Harbor安装与配置,小组内测试镜像上传与拉取;观察网页端仓库内容变化。使学生掌握企业级镜像仓库部署流程,理解CI/CD中镜像存储的重要性,将Harbor与K8s结合,为后续持续部署铺垫。课中:综合验证与总结(20min)编写nginx.yaml,使用来自Harbor的镜像(0/library/nginx),创建Deployment与NodePortService,访问http://NodeIP:30001验证应用正常,并清理资源。教师:发布挑战:编写YAML并部署,随机抽查学生访问结果;总结今日部署关键步骤,提出优化思考。学生:部署nginx应用,浏览器访问验证;参与讨论集群排错心得,提交部署结果截图至学习通。通过完整闭环验证集群与Harbor集成成功,加强学生成就感,同时巩固kubectl常用命令,强化云原生技能。布置作业(理论或实践)1.完成教材【任务习题】选择题、填空题、判断题(巩固集群基础概念);2.实践作业:编写shell脚本实现一键部署K8s基础环境(要求包含swap关闭、内核调整、docker安装等);3.拓展任务:尝试在集群中部署Dashboard图形界面,并通过Harbor拉取镜像运行;4.小组调研报告:对比Flannel与Calico网络插件的差异及应用场景。作业内容与形式:①教材【任务习题】(书面/电子文档);②编写环境配置自动化脚本(ansible或shell);③小组提交Harbor+nginx验证的完整实验报告(附截图)。作业批改:采用线上提交+教师抽查+小组互评相结合,下节课前5分钟针对共性问题集中讲评。教学反思本次课整体采用项目驱动,学生参与度高,大部分小组能够完成K8s基础集群及Harbor部署。存在问题:部分学生对内核参数含义理解不深,cri-dockerd与docker的衔接易忽略;后续增加内核模块原理微动画。另外集群初始化镜像下载较慢,可提前下载到本地私有仓库加速。整体教学目标达成良好,实践动手能力提升显著,后期需增加集群运维与故障排查专项练习。
单元整体设计2单元名称任务2安装Jenkins(第5-6课时)授课课时2课时(1节授课+1节实验)单元教学目标知识目标①了解Jenkins的基本概念、特点与CI/CD应用场景;②理解docker-compose编排工具的基本概念及服务栈、服务、任务的关系;③掌握DockerinDocker的实现原理(宿主机docker.sock挂载方式);④熟悉Jenkins初始化流程、插件部署及安全配置。能力目标①能够使用dockerload命令加载容器镜像并查看镜像列表;②能够编写docker-compose.yaml文件,利用docker-compose部署Jenkins服务;③具备通过挂载docker.sock和kubectl实现容器内操作宿主机Docker与Kubernetes集群的能力;④能够完成Jenkins的初始化配置。素质目标①培养严谨规范的操作习惯,遵循CI/CD自动化运维标准;②强化自主学习与排错能力,通过任务实施过程提升解决实际部署问题的信心;③树立DevOps工程化思维,理解容器编排与持续集成在企业生产环境中的价值。单元教学内容设计以“企业级CI/CD环境搭建”为项目背景,围绕Jenkins部署展开:Jenkins概述及CI/CD价值→docker-compose编排基础→DockerinDocker原理及实现→镜像加载及docker-compose.yaml编写→Jenkins容器启动、初始化、插件离线安装→授权策略配置与平台验证。结合Kubernetes集群与Harbor集成,体现微服务架构下自动化运维场景。教学重点①Jenkins的docker-compose.yaml文件编写及关键配置;②基于docker.sock的DockerinDocker实现方式,实现Jenkins容器内调用docker/kubectl命令;③Jenkins初始化及离线插件部署、安全设置。教学难点①理解docker.sock挂载原理及其在CI/CD流水线中的作用;②如何将宿主机的kubectl及kubeconfig挂载至Jenkins容器,使容器具备操作K8s集群的权限;③插件离线导入后的重启验证及授权策略配置逻辑。教学组织与方法采用“任务驱动+理实一体”教学法:以真实项目任务(小周安装Jenkins用于CI/CD)导入,结合讲解演示、小组协作、实操验证。教法:项目教学法、案例分析法、微课辅助;学法:探究学习、分组实训、问题导向。课前发布学习资料及镜像资源,课中“演示-实操-点评”闭环,课后拓展作业巩固。
单元详细设计授课名称安装Jenkins(容器方式&集成K8s集群)授课课时2课时(1节授课+1节实验)授课班级J24012授课专业云计算技术应用授课地点云计算大数据实训室授课类型理论课£理实一体课R实践课£学情分析授课对象为云计算专业二年级学生,已学习Docker基础命令、Kubernetes基本概念及Harbor部署,具备Linux操作基础和容器使用经验。但学生对编排工具docker-compose的实践掌握参差不齐,对CI/CD和Jenkins集成K8s的理解尚浅;部分学生对数据卷挂载原理及docker.sock通信机制存在认知盲区。通过前期K8s集群部署任务,学生已具备基本集群操作能力。本次任务需借助信息化平台(如学习通)预先提供镜像资源,针对docker-compose编排、容器内挂载等难点设计梯度任务,激发挑战性。教学目标知识目标①了解Jenkins核心功能及CI/CD软件工程价值;②掌握docker-compose模板文件结构与服务定义;③明确DockerinDocker的三种实现方式,重点理解挂载docker.sock方法;④熟知Jenkins初始化步骤与插件管理。能力目标能够独立完成Jenkins容器化部署并实现与K8s集群的交互;能够运用docker-compose命令管理服务生命周期;能够解决常见挂载权限、端口冲突等部署问题。素质目标培养标准化运维习惯及团队协作精神,建立自动化运维理念,提升对新兴技术(CI/CD)的学习适应性。教学重难点教学重点:编写docker-compose.yaml并利用docker-compose启动Jenkins;理解挂载docker.sock/docker/kubectl的意义;Jenkins初始化与安全配置。教学难点:理解容器内使用宿主机docker守护进程的原理;配置kubectl与.kube目录的挂载使Jenkins具备K8s集群管理能力;离线插件包的正确导入及授权策略设置。教学方法教法:任务驱动法、演示教学法、分组协作指导;学法:自主探究法、互助实操、复盘反思。利用在线教学平台(学习通)发布任务工单及镜像资源,突破重难点。教学环境及资源准备硬件:高性能工作站(支持虚拟化);软件:OpenEuler22.03,Docker20.10+,docker-compose1.29+,K8s集群已就绪,预加载jenkins/jenkins:2.262-centos及gitlab镜像,插件包plugins.tar.gz;教学资源:PPT、任务操作录屏、docker-compose.yaml模板、离线插件包、习题库。教学过程设计教学环节及时间分配教学内容师生活动设计意图课前-发布学习任务单:预习Jenkins概述、docker-compose基础概念。-推送学习视频《CI/CD与Jenkins入门》。-要求学生在虚拟机/集群环境预先下载镜像资源(jenkins镜像、plugins.tar.gz)。教师:通过学习通发布预习资料、任务工单,推送预习检测题;收集学生疑问。学生:观看视频,查阅教材知识储备,完成预习小测,提前准备实验环境。前置基础知识,提高课堂效率,使学生带着问题进入实训,为容器化部署做好准备。课中复习+导入(10min)-复习:Kubernetes基础、Harbor部署回顾,引出代码持续交付需要自动化构建工具。-导入:企业DevOps场景——小周需要在K8s集群中安装Jenkins完成CI/CD流水线,展示真实项目架构图。教师:通过提问“代码提交后如何自动构建镜像并部署到K8s?”引发思考,展示任务目标。学生:回顾kubectl基本操作,理解Jenkins在CI/CD中的位置,明确任务需求。创设企业任务情境,激发学习动机,明确单元目标,承接前序集群部署任务。知识讲解(20min)【重点内容】①Jenkins核心概念及CI/CD价值;②docker-compose基础及服务栈定义;③DockerinDocker三种实现方式对比,详述挂载宿主机docker.sock方案的优势及原理。【四新体现】容器内调用宿主机Docker的新方法,符合云原生CI/CD最佳实践。教师:多媒体讲解+板书示意docker.sock通信流程,演示典型docker-compose.yaml结构,突出volumes挂载路径含义。学生:记录关键概念,理解Jenkins容器与宿主机共享Docker守护进程的原理,互动提问。理论铺垫,扫清部署障碍,为后续实操奠定知识基础,突出教学重点。任务实施-加载镜像与编排准备(20min)-实操演示在master节点使用dockerload-i加载jenkins和gitlab镜像。-使用dockerimages验证镜像。-创建jenkins目录,编写docker-compose.yaml,详细解释端口映射、数据卷挂载(docker.sock,docker二进制,kubectl,.kube目录)。教师:现场逐步演示命令执行,强调文件路径及挂载意义;提供yaml模板供参考,引导学生同步操作。学生:跟随教师指令完成镜像加载,自主创建目录并编写docker-compose.yaml,记录挂载要点。理实一体,边学边练,培养规范编写编排文件的能力,突破DockerinDocker难点。启动Jenkins及初始化配置(20min)-使用docker-composeup-d启动Jenkins容器。-访问JenkinsWebUI(http://IP:8080),获取初始密码:dockerexec进入容器查看initialAdminPassword。-解锁Jenkins,选择“跳过插件安装”(离线安装方式)。-创建管理员用户、设置JenkinsURL。-通过dockercp导入插件包plugins.tar.gz,解压至插件目录后重启Jenkins。教师:指导学生查看容器日志,现场演示获取密码、解锁及用户创建,演示dockercp插件导入并重启验证;强调断开Internet连接的必要性。学生:独立完成Web访问、Jenkins初始化及管理员账户创建;分组协作完成插件导入及重启验证,记录遇到的问题。培养学生独立部署和故障排查能力,掌握Jenkins容器化部署的完整生命周期,达成能力目标。配置授权策略及验证(10min)-配置全局安全配置:授权策略选择“任何用户可以做任何事”,保持登录状态开启。-验证Jenkins是否可以执行docker/kubectl命令(新建自由风格项目,测试“Executeshell”执行dockerps、kubectlgetnodes)。-检验与K8s集群交互能力。教师:演示授权策略保存方法,验证Jenkins容器内docker及kubectl可用性,强调安全性在生产环境的差异。学生:跟随完成安全配置,自主测试命令执行;小组内互相检查挂载效果。检验DockerinDocker及K8s挂载成果,确保环境真正可用,为后续CI/CD流水线铺路。归纳总结与纠错(10min)-总结docker-compose部署Jenkins核心流程、挂载原理回顾。-展示典型报错:权限不足、端口占用、插件目录解压失败等及解决办法。-发布任务小结:Jenkins已集成至K8s集群,奠定自动化部署基础。教师:组织各小组汇报遇到的困难及解决方法,提炼最佳实践,点评关键步骤。学生:总结反思,补充笔记,交流部署心得,完成课堂评价。知识内化,强化记忆,提升学生解决问题和表达的能力,完成单元闭环。布置作业(理论或实践)布置作业(理论+实践)①完成课后习题(选择题、判断题、填空题)并提交电子版学习平台。②拓展任务:尝试通过Jenkins创建一个Pipeline任务,调用docker命令构建一个nginx镜像并推送至Harbor私有仓库,输出过程截图。③预习任务:学习“Jenkins+GitLab持续集成”相关内容,思考如何实现代码自动构建。作业批改要求:教师批阅理论题并组织讲评;实践任务分组验收,记录过程评价。教学反思实际教学过程中,大部分学生能够顺利完成Jenkins容器部署及初始化,对docker-compose编排理解逐步加深。部分学生对docker.sock挂载原理理解不够,需结合图示深入讲解;插件导入过程因网络原因出现权限问题,后续应强调解压前确认目录权限并给予chown提示。总体达到知识技能目标,后续需加强Jenkins流水线与GitLab集成的实战练习。
单元整体设计3单元名称任务3安装GitLab(第7-8课时)授课课时2课时(1节授课+1节实验)单元教学目标知识目标①了解Git基本概念、分布式版本控制原理及GitLab核心功能;②掌握docker-compose编排GitLab服务的方法,理解端口映射规避冲突策略;③熟悉Git全局配置、仓库初始化及远程推送命令;④理解GitLab在DevOps全流程中的定位及代码托管价值。能力目标①能够编写GitLab的docker-compose.yaml并使用docker-compose部署GitLab社区版;②具备GitLab初始化配置、创建项目及管理用户的能力;③能够安装Git客户端,完成源码上传(gitadd/commit/push)及远程仓库关联;④能够排查端口冲突、容器健康状态等常见部署问题。素质目标①培养版本控制与团队协作意识,树立代码规范化管理理念;②强化工程文档与实操记录习惯,提高问题分析与解决能力;③体会开源工具链在企业级DevOps中的价值,提升持续集成素养。单元教学内容设计以“搭建GitLab代码托管平台并上传微服务项目源码”为主线:任务分析及Git基础理论→GitLab功能介绍→编写docker-compose.yaml启动GitLab→配置root密码、创建gpmall项目→安装Git客户端→初始化本地仓库,提交并推送源码至GitLab。融合容器编排、版本控制新技术,对标企业代码管理标准。教学重点①GitLab容器化部署及docker-compose.yaml编写(端口映射、容器自启);②Git本地仓库初始化、远程关联与代码推送全流程命令操作;③GitLabWeb界面创建项目及设置访问权限。教学难点①理解Git工作区、暂存区、本地仓库和远程仓库之间的交互机制;②解决容器端口冲突(80/22端口被占用时的映射策略);③Gitpush认证及分支关联,排查推送失败常见原因。教学组织与方法采用“项目引导+理实一体”模式,通过企业任务“小周安装GitLab并上传源码”驱动教学。教法:任务驱动法、案例演示、分层指导;学法:小组协作、模拟实战、反思日志。依托云实训环境,提供镜像资源及docker-compose模板,讲练结合突破重难点。
单元详细设计授课名称安装GitLab(容器化部署与代码托管实践)授课课时2课时(1节授课+1节实验)授课班级J24012授课专业云计算技术应用授课地点云计算大数据实训室授课类型理论课£理实一体课R实践课£学情分析学生已完成K8s集群、Harbor和Jenkins部署,具备docker-compose基础操作能力,对容器化部署有基本认知。但对版本控制系统Git较为陌生,对分布式工作流、远程仓库交互等概念缺乏实践;部分学生对端口映射及容器健康检查理解不足。本任务通过具体Git操作演示及分组推送练习,帮助学生突破Git命令难点,建立代码托管工程思维。教学目标知识目标①了解Git的C/S架构及GitLab一站式DevOps功能;②掌握docker-compose中image、ports、restart等关键配置;③记住gitinit、gitadd、gitcommit、gitremote、gitpush等命令作用。能力目标能够独立完成GitLab容器启动、Web初始化及项目创建;可以熟练使用Git将源码上传至GitLab并验证;能够调试常见端口冲突及认证错误。素质目标培养协同开发规范意识,重视代码备份与版本追溯,提升使用开源工具解决实际业务场景的能力。教学重难点教学重点:GitLab容器部署(docker-compose.yaml编写及启动)、Git基础命令与源码推送。教学难点:理解Git本地仓库与远程仓库关联概念;Gitpush认证及分支追踪原理;容器健康状态等待策略。教学方法教法:演示教学、分组实践、问题导向;学法:模仿实践、互助纠错、在线测评。利用学习通推送任务工单及课前自测。教学环境及资源准备硬件:高性能工作站(支持虚拟化);软件:Docker、docker-compose、GitLab社区版镜像(gitlab/gitlab-ce:12.9.2-ce.0),gpmall源码包;教学资源:任务驱动课件、docker-compose.yaml模板、Git命令速查表、录屏微课。教学过程设计教学环节及时间分配教学内容师生活动设计意图课前①发布预习任务:观看Git基础及GitLab介绍视频;②提前将GitLab镜像及gpmall源码资源上传至学生机共享目录;③发布docker-compose基础自测题。教师:通过学习平台下发任务工单、上传镜像资源链接及预习问题清单。学生:预习教材内容,完成Git与GitLab知识小测,提前了解端口映射策略。前置Git概念,缩短课堂理论时间,提升容器部署环节效率。课中复习+导入(10min)复习Jenkins部署成果,引出代码仓库的必要性;展示企业场景:小周需要存储gpmall源码并进行版本管理,引出GitLab安装任务。教师:提问“代码版本管理有哪些工具?为什么需要GitLab?”。学生:结合已有知识回答,明确本次任务目标。建立前后任务关联,激发学习兴趣,自然过渡到GitLab部署。知识讲解(10min)【重点】①Git架构(C/S)及GitLab核心功能(代码托管、CI/CD、项目管理);②docker-compose.yaml部署GitLab的步骤;③端口冲突处理策略(宿主机80→81,22→1022)。教师:讲授Git分布式版本控制思想,演示端口映射设计;展示GitLab在DevOps中的位置。学生:聆听记录,理解容器端口映射原因,提出疑问。为实操夯实理论基础,降低部署错误率,突破重点概念。任务实施—编写Compose&启动GitLab(20min)①创建gitlab目录,编写docker-compose.yaml(定义镜像、端口映射、容器名、重启策略)。②使用docker-composeup-d启动GitLab。③使用docker-composeps观察健康状态(healthcheck)。教师:逐行解释yaml配置,展示docker-composeup启动过程,强调等待healthy状态。学生:跟随编写yaml,执行命令,观察容器日志,记录启动时长。培养编排文件编写规范,理解容器化部署全流程,提升实操能力。GitLab初始化与项目创建(20min)①浏览器访问http://IP:81,设置root密码(12345678);②登录GitLab,创建空白项目“gpmall”,可见性设置为Public;③熟悉项目界面及SSH/HTTP克隆地址。教师:演示Web初始化及项目创建流程,提示密码复杂度要求;学生:独立完成GitLab登录、项目创建,截图保存项目URL。掌握GitLab基本运维操作,为后续代码上传做好仓库准备。安装Git并上传gpmall源码(20min)①在master节点使用dnf安装Git;②进入gpmall目录,执行gitinit初始化本地仓库;③gitadd--all添加所有文件,gitcommit-m"Addgpmall"提交;④添加远程仓库origin地址,gitpush-uoriginmaster,输入用户名密码;⑤验证GitLabWeb端源码已成功上传。教师:逐步演示Git全局配置及推送过程,强调用户邮箱配置与认证;巡回指导学生解决推送失败(认证/分支)问题。学生:同步执行命令,小组互助,最终刷新GitLab确认文件展示。突破Git远程协作难点,完成从代码到托管的完整链路,达成能力目标。归纳总结与纠错(10min)总结GitLab容器部署要点+Git推送常见错误(远程仓库地址错误、认证失败、未关联分支);展示标准工作流。教师:邀请学生分享遇到的错误及解决方法,梳理版本控制最佳实践。学生:反思操作过程,完善笔记,提交仓库截图。固化知识与技能,提升自我纠错与表达能力,形成闭环。布置作业(理论或实践)①完成教材“任务习题”(选择题、填空、判断)并提交至学习平台。②实践作业:在GitLab中创建新分支,修改README.md文件后提交并推送,截图展示提交记录。③预习下一任务:CI/CD流水线与GitLab集成思路。教师批改电子作业并组织讲评共性问题。教学反思本次课学生参与度高,大部分小组能在规定时间内完成GitLab部署及代码上传。部分学生在gitpush认证环节因用户名/密码错误或http地址问题出现阻碍,后续需加强Git凭证存储教学。另外容器健康状态的等待时间超出预估,应提醒学生提前启动或优化资源。整体教学目标达成良好,后续可增加Git分支管理实训环节。
单元整体设计4单元名称任务4配置GitLab和Jenkins(第9-10课时)授课课时2课时(1节授课+1节实验)单元教学目标知识目标①了解Maven项目管理和自动化构建工具的核心概念与特点;②掌握GitLab个人访问令牌的创建方法及API权限范围;③理解Jenkins通过APIToken连接GitLab的认证机制;④熟悉Jenkins全局工具配置中Maven的集成步骤。能力目标①能够在GitLab中生成个人访问令牌并配置网络钩子权限;②能够在Jenkins系统配置中利用APIToken安全连接至GitLab;③能够将Maven安装包复制至Jenkins容器并正确配置环境变量;④能够在Jenkins全局工具配置中定义Maven安装路径,完成构建工具集成。素质目标①养成规范的安全凭证管理意识,保护API令牌等敏感信息;②培养跨系统集成思维,理解CI/CD链中代码仓库与构建工具的协作关系;③提升工程化交付能力,体会自动化构建对软件交付效率的价值。单元教学内容设计以“企业级CI/CD流水线预集成”为背景,围绕Jenkins与GitLab的对接及Maven构建环境搭建展开:GitLab访问令牌创建与网络权限设置→Jenkins系统配置中集成GitLab(APIToken认证测试)→Jenkins容器内Maven安装与环境变量配置→Jenkins全局工具配置中注册Maven。涵盖自动化构建工具链的核心环节,融合新方法、新技术,对标企业DevOps工程师岗位能力。教学重点①GitLab个人访问令牌的创建及API权限勾选(api+read_user);②Jenkins系统配置中添加GitLab服务器URL和APIToken凭据,并测试连接成功;③在Jenkins容器中手动安装Maven并配置全局环境变量;④Jenkins全局工具配置中设置Maven名称与MAVEN_HOME。教学难点①理解GitLab“Allowrequeststolocalnetwork”设置对Webhook及API调用的影响;②Jenkins中凭据类型“GitLabAPItoken”的添加与使用流程;③容器内/etc/profile环境变量持久化的理解及source生效操作;④Maven与Jenkins集成后的自动化构建验证逻辑。教学组织与方法采用“任务驱动+理实一体”教学法,以“小周完成CI/CD工具链配置”为主线,融合演示操作、分组实践、讲练结合。教法:案例教学法、分层演示、即时反馈;学法:同步实操、互助纠错、问题追踪。利用云实训环境提前提供Maven二进制包,借助学习通实时收集配置问题并讲评,实现做中学、学中用。
单元详细设计授课名称配置GitLab和Jenkins(集成API认证与Maven构建工具)授课课时2课时(1节授课+1节实验)授课班级J24012授课专业云计算技术应用授课地点云计算大数据实训室授课类型理论课£理实一体课R实践课£学情分析学生已在前序任务中成功部署Jenkins和GitLab容器,掌握基础docker-compose操作及Git常用命令,对CI/CD有初步认知。但学生对于平台间集成认证(APIToken)、Maven构建工具在容器内部的部署缺乏经验;大部分学生不清楚Jenkins凭据管理与GitLabAPI权限的关联。部分学生对容器内环境变量配置及source命令理解不深。需通过逐步演示令牌创建及Maven安装强化理解,结合企业级场景提升工程能力。教学目标知识目标①掌握Maven的依赖管理、构建生命周期等核心特性;②牢记GitLab个人访问令牌的作用域(api/read_user)含义;③理解Jenkins系统配置中“GitLabAPItoken”凭据工作原理;④明确Jenkins全局工具配置中MAVEN_HOME指向容器内安装路径。能力目标能够独立完成GitLab网络钩子许可设置和访问令牌生成;能够在Jenkins中正确配置GitLab连接并测试连通性;能够将Maven解压安装到Jenkins容器并配置环境变量使之全局可用;能够在Jenkins全局工具配置中添加Maven以供流水线调用。素质目标强化安全责任意识,谨慎处理API令牌;提升系统集成思维,促进代码仓库与自动化构建服务器的深度融合;养成精益求精的职业习惯,确保工具链配置的准确性和可复现性。教学重难点教学重点:GitLab访问令牌的创建与Jenkins凭据绑定;Jenkins系统配置中GitLab连接的测试与保存;Maven在Jenkins容器内的安装与环境变量配置;Jenkins全局工具配置中Maven的注册。教学难点:理解APIToken认证代替用户名密码的安全优势;处理容器内环境变量持久化问题;Maven与Jenkins集成后的调用验证思路。教学方法教法:任务驱动、现场演示、分段精讲;学法:同步实验、协作讨论、思维导图总结。通过工作坊形式组织小组互助,解决配置中出现的令牌失效、连接超时等实际问题。教学环境及资源准备硬件:高性能工作站(支持虚拟化);软件:已部署的GitLab容器、Jenkins容器,Maven二进制包apache-maven-3.6.3-bin.tar.gz;教学资源:任务工单、配置流程图、APIToken创建指引、Maven安装录屏、学习通在线答题系统。教学过程设计教学环节及时间分配教学内容师生活动设计意图课前①教师发布预习任务单:学习Maven基础概念与GitLabAPI认证机制;②提供Maven安装包及Jenkins-GitLab集成微视频;③在线小测:Maven生命周期阶段、APIToken作用。教师:通过云平台推送预习资料及思考题,搜集预习反馈。学生:观看视频,查阅Maven简介,完成小测,提前熟悉令牌认证价值。前置理论知识,缩短课堂理论讲解时间,为实操集成做好铺垫。课中复习+导入(10min)回顾Jenkins、GitLab安装成果,展示企业CI/CD痛点:代码仓库与构建服务器需要安全对接;引出任务主线——配置GitLab+Jenkins联动及Maven集成。教师:提问“如何让Jenkins自动拉取GitLab私有仓库代码?”引导出令牌认证必要性。学生:结合已有知识思考,明确本次集成目标。连接前后任务,激发学生解决实际集成问题的兴趣,自然过渡到配置环节。知识讲解(10min)【重点】①Maven概述:POM、依赖管理、构建生命周期;②GitLabAPIToken机制及权限(api/read_user);③Jenkins插件体系与凭证管理基础。教师:结合图示讲解Maven在Java项目中的作用,强调apitoken比密码更安全;演示令牌创建流程(理论部分)。学生:记录Maven生命周期核心阶段,理解GitLab网络钩子设置原因。建立必要的理论知识,突破概念难点,为实操提供方法支撑。配置GitLab访问令牌与网络许可(10min)①登录GitLabAdminArea,设置Network→Outboundrequests,勾选“Allowrequeststolocalnetwork”;②进入账户Settings→AccessTokens,创建名为jenkins的令牌,勾选api和read_user,生成并复制令牌内容。教师:逐步演示GitLab界面操作,强调令牌只显示一次需及时记录。学生:跟随操作,创建令牌并保存到本地记事本,相互检查权限勾选是否正确。掌握GitLabAPI集成关键步骤,培养学生安全配置习惯,为Jenkins连接做好准备。Jenkins连接GitLab配置(20min)①Jenkins系统管理→系统配置,找到GitLab部分,取消勾选“Enableauthenticationfor'/project'end-point”;②填写Connectionname、GitLabhostURL(0:81);③添加Credentials,类型选择“GitLabAPItoken”,填入复制的令牌,添加;④选择对应凭据,点击“TestConnection”显示Success,保存配置。教师:完整演示凭据添加及测试过程,提示URL端口及令牌准确匹配。学生:同步完成Jenkins配置,若测试失败则排查网络或令牌权限,小组互助解决。突破Jenkins与GitLab集成认证难点,实现跨系统安全对接,体现企业级CI/CD集成实践。Jenkins容器中安装Maven(20min)①将apache-maven-3.6.3-bin.tar.gz通过dockercp传入Jenkins容器根目录;②进入容器,解压至/usr/local并重命名为maven;③编辑/etc/profile,追加PATH环境变量;④source/etc/profile生效;⑤执行mvn-v验证安装成功。教师:演示dockercp命令及容器内操作,强调路径及重命名细节,提醒source作用;巡回指导学生解决权限或路径错误。学生:独立完成Maven安装与验证,记录mvn-v输出结果,截图留存。培养学生容器内软件部署能力,理解环境变量配置机制,为后续自动化构建提供编译基础。Jenkins全局工具配置Maven(10min)①Jenkins系统管理→全局工具配置;②找到Maven部分,点击“新增Maven”;③取消勾选“自动安装”,Name输入“Maven”,MAVEN_HOME填写/usr/local/maven;④保存配置,验证无报错。教师:演示Maven工具注册流程,对比自动安装与手动指定的适用场景。学生:跟随配置,保存后检查配置列表是否存在自定义Maven。使Jenkins流水线能够识别Maven工具,体现标准化构建工具集成方法。归纳总结与纠错(10min)总结GitLab+Jenkins集成关键要点(令牌创建、网络设置、API测试),回顾Maven安装与Jenkins工具配置;展示常见错误(连接超时、令牌权限不足、环境变量未生效)。教师:邀请学生分享配置中遇到的错误及解决经验,点评易错点。学生:反思操作流程,完善实验报告,提交连接测试成功及mvn-v截图。知识内化,提升排错能力,强化实践记忆,实现技能闭环。布置作业(理论或实践)①完成教材“任务习题”(选择、填空、判断),线上提交;②实践作业:在Jenkins中创建一个自由风格任务,测试从GitLab拉取代码并调用系统Maven执行mvncompile,提交构建日志截图;③预习:Jenkins流水线基础语法。教师认真批改作业,针对共性问题组织讲评。教学反思本次课学生能够较好完成GitLab令牌创建及Jenkins连接测试,Maven安装成功率较高。部分学生在容器内编辑profile时使用了vi,但忘记source导致mvn命令找不到,后续需强调生效步骤并演示验证方法;GitLab网络设置步骤有个别学生遗漏导致连接测试失败,后续可设置检查清单。整体教学目标达成,学生初步具备工具链集成能力,为完整CI/CD流水线奠定了扎实基础。
单元整体设计5单元名称任务5配置和触发CI(第11-16课时)授课课时6课时(3节授课+3节实验)单元教学目标知识目标①理解Jenkins流水线(Pipeline)的概念、核心组成(Stage、Step、Agent)及声明式/脚本式语法差异;②掌握脚本式流水线常用步骤:git、sh、archiveArtifacts、dockerbuild/push、kubectlapply等;③熟悉CI/CD触发机制(Webhook、手动触发),了解GitLab与Jenkins集成原理;④掌握基于Kubernetes的部署清单(Pod+Service)编写及NodePort服务暴露方式。能力目标①能够在Jenkins中新建流水线任务,配置GitLabWebhook触发器;②能够借助“流水线语法”生成Git检出脚本,并根据项目需求编写完整的CI/CD流水线脚本(涵盖代码拉取、Maven构建、镜像制作、推送Harbor、部署至K8s);③能够完成CI/CD触发前的环境准备工作(镜像加载、Webhook添加、Harbor项目创建、Maven仓库导入);④能够手动触发或通过代码提交自动触发构建,验证gpmall应用成功部署并访问验证。素质目标①树立“基础设施即代码”(IaC)及“流水线即代码”理念,培养工程化、自动化运维思维;②增强团队协作与排错意识,通过流水线脚本调试提升问题分析与解决能力;③理解DevOps文化中持续集成、持续部署对软件交付效率的提升价值,培养精益求精的职业素养。单元教学内容设计以“GPMall商城项目CI/CD全流程”为主线,分阶段实施:①Jenkins流水线基础理论(Pipeline核心概念、脚本式语法);②新建流水线任务、配置构建触发器与GitLabWebhook;③利用流水线语法生成代码拉取脚本,编写完整Jenkinsfile(gitclone→Maven编译→镜像构建→Harbor推送→K8s部署);④环境准备(基础镜像加载、Harbor项目创建、Maven本地仓库导入);⑤触发构建(手动/自动),验证Pod及Service运行状态,访问gpmall网站。融合企业级新方法新技术,对标DevOps岗位能力模型。教学重点①Jenkins流水线任务创建及GitLabWebhook触发器配置;②脚本式流水线编写:使用git拉取代码、sh执行Maven构建及Docker命令;③流水线中镜像标签设计及推送至Harbor;④通过kubectlapply部署应用到K8s集群,验证NodePort访问。教学难点①Jenkins流水线脚本中多阶段串联及环境变量传递;②容器内挂载docker.sock及kubectl后权限与路径问题的理解;③Webhook网络连通性调试及构建触发排错;④完整YAML资源清单(多容器Pod+Service)的解析及与流水线集成。教学组织与方法采用“项目导向+任务驱动+理实一体”模式,将6课时划分为3次连贯教学:第一次课(流水线基础+任务创建),第二次课(流水线脚本编写与调试),第三次课(触发准备+完整构建验证)。教法:案例演示、分层推进、分组帮扶;学法:模仿实践、脚本调试、协作探究。依托云原生实训环境,提前提供Maven仓库包及基础镜像,降低网络依赖,实现高质量实训。
单元详细设计授课名称配置和触发CI/CD(GPMall项目流水线构建与持续集成)授课课时6课时(3节授课+3节实验)授课班级J24012授课专业云计算技术应用授课地点云计算大数据实训室授课类型理论课£理实一体课R实践课£学情分析学生已完成Jenkins、GitLab、Harbor的部署及基础配置,掌握了Docker、Kubernetes基本操作和Maven初步概念。但多数学生对Jenkins流水线代码化缺乏经验,对脚本语法、多阶段构建、Webhook自动触发等高级特性存在畏难情绪。6课时连续项目实践需要教师精细拆解步骤,提供脚本模板,并引导学生理解流水线每个阶段的意义。通过小组协作和错误复盘,逐步建立CI/CD全局视野。教学目标知识目标①掌握声明式/脚本式流水线区别,理解node、stage、step的作用;②熟练运用git、sh、docker、kubectl等步骤;③理解Webhook触发原理及Harbor项目权限配置。能力目标能够独立完成Jenkins流水线任务的完整配置,编写符合项目需求的Jenkinsfile,实现从代码提交到自动部署的全流程,并能排查常见构建错误。素质目标培养代码化运维习惯,注重脚本规范与版本管理,提升团队协作及持续交付工程实践能力。教学重难点教学重点:流水线任务创建、GitLabWebhook配置、完整流水线脚本编写(5个stage)、Harbor项目创建及镜像推送、kubectl部署验证。教学难点:流水线脚本中sed动态修改配置文件、多路径JAR包复制及镜像构建上下文理解;Webhook调试及构建触发排错;K8s资源清单与流水线协同。教学方法教法:项目驱动、分步演示、脚手架引导;学法:脚本仿写、结对编程、录制构建日志分析。使用学习通发布分段任务卡,辅以错误案例库。教学环境及资源准备硬件:高性能工作站(支持虚拟化);软件:Jenkins、GitLab、Harbor已就绪,K8s集群运行中;镜像资源:centos:7.9.2009.tar及各组件镜像tar包,Maven仓库包repository.tar.gz,gpmall项目源码及YAML清单。教学资源:流水线脚本模板、Webhook配置视频、常见错误排查手册。教学过程设计教学环节及时间分配教学内容师生活动设计意图课前发布预习任务:JenkinsPipeline官方文档片段、CI/CD概念视频;提供流水线脚本示例及术语表。要求学生了解Pipeline核心术语。教师:上传预习资料,设置讨论问题“流水线代码化的优势”。学生:观看视频,查阅教材,整理疑问。前置流水线基础知识,降低课堂认知负荷,为编写脚本打好基础。【第一次课】理论+初级配置(2课时)课中复习+导入(10min)回顾Jenkins、GitLab集成成果,提出自动化构建需求;引入CI/CD流水线概念及gpmall项目背景。教师:提问“如何自动化完成代码拉取、编译、部署?”,展示企业级流水线效果图。学生:思考并回答。激发学习动机,衔接已学知识,引出流水线价值。知识讲授(30min)①JenkinsPipeline核心概念(Pipeline、Stage、Step、Agent);②声明式vs脚本式语法对比;③脚本式流水线常用步骤:git、sh、archiveArtifacts等。教师:结合图示讲解,演示简单流水线示例(HelloWorld)。学生:记录关键点,参与互动。掌握流水线基本理论,为编写复杂脚本做知识储备。任务实施-新建流水线任务(20min)①Jenkins中新建任务“gpmall”,类型选择“流水线”;②配置构建触发器:选中“BuildwhenachangeispushedtoGitLab”,复制WebhookURL;③演示GitLab中获取项目HTTP地址。教师:分步演示任务创建及触发器配置,强调WebhookURL的重要性。学生:跟随创建任务,记录触发URL。掌握流水线任务创建及触发器准备,为集成GitLab打下基础。流水线语法生成(20min)①进入流水线语法,选择“git:Git”;②填写GitLab项目URL,添加GitLab认证凭据(root/12345678);③生成并记录流水线脚本(credentialsId及URL)。教师:演示凭据添加及脚本生成过程,提示学生保存生成的git步骤脚本。学生:独立操作,复制生成的脚本备用。学会使用“流水线语法”工具,解决代码拉取认证问题,为完整脚本做准备。第一次课小结/作业10min 总结流水线任务创建及触发器配置要点;布置任务:预习流水线各阶段Shell命令作用,小组讨论gpmall构建步骤。【第二次课】流水线脚本编写与调试(2课时)课中回顾&导入(10min)回顾第一次课任务,展示完整流水线逻辑结构(5个stage);明确本次课目标:编写完整流水线脚本。脚本编写-gitclone与mavenbuild(30min)①node{}顶层块定义;②stage('gitclo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 篮球教学考核试题及规范答案
- 2025年成都天府香山初一入学语文分班考试真题含答案
- 2026年甘肃省金昌中小学教师招聘考试题库及答案
- 2026年广东专升本数学考试(真题)带答案
- 护士转岗体检试题及答案
- 保险规划综合试题与对应答案
- 2026年高中语文《归园田居其三》田园劳作诗教案
- 2026年假途灭虢成语故事警惕伪装公开课教案
- 2026年势如破竹成语故事事物发展分析教案
- 2026年机械设计制造专业知识培训试卷及解析
- 水泥土路床施工技术方案
- 2025年电力计量专业题库及答案
- 人教版(2024)七年级(全一册)体育与健康全册教案
- 原发性高血压课件
- 《0~18岁儿童精准营养补充指南》解读
- 《电气工程》课件
- DB11-T 1166-2024 城市轨道交通运营安全管理规范
- 《可见-近红外地物光谱仪》
- TB 10012-2019 铁路工程地质勘察规范
- 《我家漂亮的尺子》课件-定稿
- 10000以内加减法混合竖式题
评论
0/150
提交评论