CI/CD是什么

CI/CD 是现代软件开发中非常重要的一套工程化实践。


软件集成高级工程师-CSDN博客

你刚才看到的那个月薪 20--21K、驻罗马尼亚的软件集成工程师岗位,它的核心工作之一就是维护 CI/CD 流水线。


CI/CD 是什么意思?

CI/CD 是两个英文概念的缩写:

缩写 英文 中文
CI Continuous Integration 持续集成
CD Continuous Delivery 持续交付
CD Continuous Deployment 持续部署

CI/CD 就是把软件开发过程中代码检查、编译、测试、打包、发布等步骤尽可能自动化。


举个你熟悉的 Qt/C++ 项目例子

假设你和另外两名同事一起开发一个 Qt 软件。

以前:手动构建

你们可能是这样工作的:

  1. 每个人在自己的电脑上编写代码。

  2. 将代码提交到 Git。

  3. 需要发布新版本时,由某个同事拉取最新代码。

  4. 打开 Qt Creator,编译项目。

  5. 手动检查运行是否正常。

  6. 将EXE、DLL等文件打包,交给测试人员。

这个过程可能遇到一些问题:

  • 某个同事的代码在他电脑上能编译,在别人电脑上却编译失败。

  • 缺少某个 DLL 或依赖库。

  • 忘记打包 Qt 插件。

  • 不同开发人员使用的编译器版本不同。

  • 发布时忘记执行某些测试。


使用 CI/CD 之后

这样一来,只要开发人员提交了代码,服务器就可以自动执行一系列预先配置好的工作。

如果编译失败,系统会通知开发人员。

如果测试全部通过,就可以生成一个可供测试或交付的软件版本。

这就是 CI/CD的基本思想。


相关推荐
smartpi_ai13 小时前
离线语音芯片怎么选:SU、CI、JX、JL 系列语音模块选型指南
人工智能·ci/cd·语音识别
极小狐1 天前
跨项目流水线报 404 Not Found?CI_JOB_TOKEN 允许名单 9 步排查
ci/cd·gitlab·devops·权限管理·流水线·极狐gitlab·作业令牌
骇客野人2 天前
CI/CD A 服务器(构建机)免密登录 B 服务器(目标部署机)完整操作
服务器·servlet·ci/cd
山雀~3 天前
线上CI流水打包失败排查思路案例
前端·ci/cd
你看我名字3 天前
LAMP 架构演练:从云主机准备到 Apache、PHP、MySQL 上线验证
运维·ci/cd·架构·kubernetes·jenkins
码间留白4 天前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions
Crayon Lin4 天前
金丝雀/AB/红绿发布
ci/cd
王琦03185 天前
持续集成持续交付企业示例
运维·ci/cd
_肆云6 天前
GitHub CI/CD 全流程
ci/cd·github