持续集成与持续部署

持续集成与持续部署

1、介绍

持续集成CI:开发人员频繁的提交代码,并对提交进行自动化的验证

持续部署CD:基于CI,自动化的将代码部署到生产环境

2、持续集成的概念

持续集成的核心思想是:让开发人员频繁地将代码变更合并到共享的主干分支中,并通过自动化流程来快速验证这些变更的正确性。

CI不是一个工具,而是一套流程和实践,这套流程通常由一个CI服务器(如Jenkins、GitLab CI、GitHub Actions)来自动执行。其工作流程可以概括为以下几步:

频繁提交:开发人员每天至少一次,将完成的小功能代码提交到共享的代码仓库(如Git)的主干分支。

自动触发:每次代码提交都会自动触发CI服务器开始工作。

自动构建:CI服务器会拉取最新的代码,并将其编译、打包成可执行的软件(例如,将Java代码编译成Jar包)。

自动化测试:这是CI的灵魂。CI服务器会运行一套预先写好的自动化测试(包括单元测试、集成测试等),来验证新代码没有破坏现有功能。

生成报告:CI服务器会生成一份详细的报告,明确告知开发团队:本次构建成功还是失败。如果失败,具体是哪个测试用例没通过,哪段代码编译出错。

3、持续部署的概念

持续部署的核心流程

开发者提交代码到代码仓库。

持续集成流程自动触发:完成编译、打包和一系列自动化测试。

通过所有测试后,系统会自动、直接地将代码部署到生产环境。

整个过程完全由自动化流程驱动,"发布"这个动作不再是一个需要手动决策和执行的特殊事件,而是开发流程中一个自然而然的环节。

4、CI/CD带来的好处

CI/CD不仅仅是一套工具链,它更是一种能力。 它赋予组织:

快速交付价值的能力

高质量、低风险发布的能力

高效、愉悦的团队协作能力

5、CI/CD阶段组成

相关推荐
一念一花一世界7 小时前
Argo CD vs Tekton vs Arbess,CI/CD工具一文纵评
ci/cd·tekton·argo cd·arbess
爱宇阳9 小时前
Vue3 项目 GitLab CI/CD 自动构建并推送到 Harbor 教程
ci/cd·gitlab
記億揺晃着的那天1 天前
CI/CD 是如何改变软件世界的?
ci/cd
西部森林牧歌1 天前
Arbess零基础学习 - 使用Arbess+GitLab实现Node.js项目自动化构建/主机部署
ci/cd·node.js·gitlab·arbess·tiklab devops
西部森林牧歌1 天前
Arbess零基础学习 - 使用Arbess+GitLab实现 React.js 项目自动化构建/主机部署
react.js·ci/cd·arbess·tiklab devops
tnan25222 天前
基于阿里云效实现cicd记录
阿里云·ci/cd·docker·容器·自动化
fruge2 天前
GitHub Actions CI/CD 自动化部署完全指南
ci/cd·自动化·github
FJW0208143 天前
DevOps——CI/CD持续集成与持续交付/部署的理解与部署
运维·ci/cd·devops
我就是全世界3 天前
告别手动部署!GitHub Workflow与Action完全指南:从零构建自动化CI_CD流水线
ci/cd·自动化·github