Docker容器技术 配置、部署与应用课件 -项目7 自动化构建与持续集成.pptx
Docker容器技术配置、部署与应用项目7自动化构建与持续集成
能力CAPACITY要求了解镜像的自动化构建。掌握基于GitLab平台自动化构建镜像的方法。理解CI/CD的概念,了解Docker的相关应用。掌握Jenkins结合GitLab实现CI/CD的方法。
任务7.2基于Docker实现CI/CD任务7.1实现Docker镜像的自动化构建
任务7.1实现Docker镜像的自动化构建任务说明01OPTION02OPTION03OPTION04OPTION了解代码管理与代码分支的基础知识了解CI/CD的概念解镜像自动化构建的基础知识掌握GitLab服务器的部署和使用方法05OPTION学会基于GitLab平台实现镜像的自动化构建
任务7.1实现Docker镜像的自动化构建知识引入7.1.1代码管理与代码分支管理代码管理代码管理系统功能:实现代码共享、追溯、回滚及维护。作用:提供代码开发运行历史,解决多来源代码合并冲突。服务器端:代码托管平台或代码服务器。客户端:代码管理工具或版本控制工具。Git特点:去中心化代码管理,减少对中心服务器依赖。本地仓库:开发人员本地的完整代码仓库,可离线提交代码。远程仓库:服务器端的代码仓库。
任务7.1实现Docker镜像的自动化构建知识引入7.1.1代码管理与代码分支管理代码分支分支基础定义:代码管理工具用分支标记代码提交,SVN分支独立,Git分支是版本指针。特点:Git分支创建合并灵活,提交代码形成时间线,即分支。分支重要性独立开发:开发人员可在自己的分支上开发,随时提交代码,开发完成后再合并到原分支,避免误删、丢失风险。解决冲突:控制提交,防止代码冲突。分支管理实践默认分支:项目默认分支是main(早期叫master),是代码主干,用于保留线上发布版本。其他分支:开发分支、预发布分支等由团队约定,开发完成先合并到预发布分支,上线后再合并到main分支。
任务7.1实现Docker镜像的自动化构建知识引入7.1.2CI/CD的概念持续集成(CI)定义:频繁向主干提交代码,提交前需经编译和自动化测试验证。目标:实现产品快速迭代与高质量保持。流程:代码变更自动触发构建和测试,并反馈结果。优势:节省开发人员时间,避免手动集成错误,提高软件可靠性。持续部署(CD)定义:通过自动化循环实现软件快速交付,代码可随时自动部署至生产环境。目标:确保代码始终可部署且能进入生产阶段。
任务7.1实现Docker镜像的自动化构建知识引入7.1.2CI/CD的概念持续交付(CD)定义:在持续集成基础上,将代码部署到类生产环境,手动决定是否部署到生产环境。目标:保证软件随时可交付使用。CI/CD实践统称:实践中常将持续交付和持续部署作为持续集成的一部分,统称为CI/CD或CICD。流程:涵盖代码提交到部署的完整流程。
任务7.1实现Docker镜像的自动化构建知识引入7.1.3镜像的自动化构建DockerHub的自动化构建(1)在本地准备构建镜像的Dockerfile及相关的代码,纳入本地仓库管理。(2)将Dockerfile和代码文件推送到GitHub托管的远程代码仓库。(3)由DockerHub基于GitHub托管的远程仓库自动构建镜像。
任务7.1实现Docker镜像的自动化构建知识引入7.1.3镜像的自动化构建第三方提供的镜像自动化构建阿里云ACR支持代码仓库:兼容DockerHub,支持阿里云Code、GitHub、Bitbucket、GitLab等,可公开或私有。功能特点:提供安全托管、稳定国内外构建服务、便捷授权,简化全生命周期管理。优势:多地域托管,与容器服务等云产品协同,提供Docker一体化云体验。腾讯云TCR功能集成:基于CODINGDevOps,提供镜像构建及交付流水线,满足持续集成与部署需求。版本支持:企业版和个人版均支持镜像构建,源代码授权信息互通。构建能力:支持GitHub、GitLab、Gitee、腾讯工蜂及CODING等托管代码的编译与构建。
任务7.1实现Docker镜像的自动化构建知识引入7.1.3镜像的自动化构建自动化构建镜像的优点自动化构建的镜像完全符合期望。任何可以访问代码仓库的人都可以使用Dockerfile。代码修改之后镜像仓库会自动更新。充分利用第三方服务器资源,节省自己的计算资源和时间。
任务7.1实现Docker镜像的自动化构建知识引入7.1.4GitLab与GitLabRunnerGitLab性质:开源代码仓库管理系统,提供软件生命周期管理工具。功能:可构建、测试、部署代码,支持在多种环境构建作业。使用:用户可部署自己的GitLab服务器,提