---
url: /notes/面试/真实面经/武汉诺利捷/index.md
---
## 题目

## Ribbon 负载均衡

## Git版本控制

错误的❌？？？

![image-20250218160753359](https://note-1259190304.cos.ap-chengdu.myqcloud.com/noteimage-20250218160753359.png)

## CI/CD

错误的❌？？？

![image-20250218160830321](https://note-1259190304.cos.ap-chengdu.myqcloud.com/noteimage-20250218160830321.png)

CI/CD 是 持续集成（Continuous Integration） 和 持续交付（Continuous Delivery） 或 持续部署（Continuous Deployment） 的缩写

持续集成（Continuous Integration, CI）持续集成是一种开发实践，要求开发人员将代码更改频繁地集成到一个共享的主分支（如   main   或   master  ）中。每次集成都会通过自动化构建和测试来验证代码的正确性，从而尽早发现和修复问题。

核心特点：

• 频繁提交代码：开发人员每天多次将代码提交到主分支。

• 自动化构建：每次提交后，系统会自动运行构建过程（编译代码、运行测试等）。

• 快速反馈：如果构建失败或测试未通过，开发人员会立即收到通知并修复问题。

工具示例：

• Jenkins：最流行的开源 CI 工具，支持多种编程语言和构建任务。

• GitHub Actions：与 GitHub 集成的 CI 工具，适合基于 Git 的项目。

• GitLab CI/CD：GitLab 自带的 CI/CD 工具，功能强大且易于配置。

• CircleCI：专注于云原生 CI/CD 的工具，适合现代开发环境。

持续部署（Continuous Deployment, CD）持续部署是持续交付的进一步扩展，它要求每次代码提交后，自动通过所有测试并直接部署到生产环境，无需人工干预。

核心特点：

• 完全自动化：从代码提交到生产部署的整个过程无需人工干预。

• 快速迭代：开发人员可以快速看到代码在生产环境中的表现。

• 高风险：由于完全自动化，任何代码问题都会直接进入生产环境。

CI/CD 的工作流程一个典型的 CI/CD 流程如下：

1. 开发人员提交代码：开发人员将代码提交到版本控制系统（如 Git）。

2. 触发构建：CI 工具（如 Jenkins）检测到代码提交后，自动触发构建过程。

3. 自动化测试：构建过程中运行单元测试、集成测试等自动化测试。

4. 部署到预生产环境：如果测试通过，代码自动部署到预生产环境（持续交付）。

5. 部署到生产环境：

   • 持续交付：手动触发部署到生产环境。

   • 持续部署：自动部署到生产环境。
