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的基本思想。


相关推荐
J心流7 小时前
CI-CD配置流程
ci/cd
Frankie_stand2 天前
测试自动化实战指南:从脚本化、自动判据到 CI 集成的完整落地路径
android·ci/cd·自动化
逐流人3 天前
手工建集群到全自动发布:k8s集群部署与DevOps流水线整合实战
ci/cd·云原生·kubernetes·云计算·devops
pengdott6 天前
Rocky linux9安装最新版sonarqube-26.10.0
ci/cd·devops·sonarqube
lsc_blog8 天前
年底还在招的岗位,先确认缺口和到岗要求
git·缓存·ci/cd·职场和发展·github
AKA__Zas8 天前
接口自动化测试(1.0 初认识
python·ci/cd·学习方法
十二同学啊9 天前
Go 工程化详解:项目结构、代码规范、测试体系与 CI/CD 实践
ci/cd·golang·代码规范
Sakura_j_h_10 天前
GitHub Actions 打包 Windows exe:中文编码与产物上传
windows·ci/cd·打包发布·github·pyinstaller·github actions
砚底藏山河10 天前
量化回测可复现流水线CI化
java·python·ci/cd·金融
X1A0RAN10 天前
Jenkins CI 流水线优化实践:基于提交指纹的任务缓存
缓存·ci/cd·jenkins