菜单

存储库结构

相关源文件

本文档解释了 devops-exercises 仓库的组织方式,包括其目录结构、内容组织以及不同组件之间的关系。有关使用此仓库进行面试准备的信息,请参阅面试准备

概述

devops-exercises 仓库是关于各种 DevOps 和 SRE 主题的问题、练习和资源的综合集合。它既是学习资源,也是技术面试的准备工具。

仓库高层结构

来源: README.md1-114 scripts/question_utils.py1-70 scripts/update_question_number.py1-35

主要组件

README.md

根目录下的 README.md 文件是仓库的入口,其中包含:

  1. 对仓库目的的简要描述
  2. 关于练习和问题数量的统计(目前超过 2,600 个)
  3. 按技术领域组织的图形目录
  4. 各种领域技术问题的综合列表
  5. 关于相关 DevOps 应用程序的信息

README.md 使用一致的结构,通过 <details><summary> HTML 标签为每个问题创建可折叠的部分,使其尽管内容量大但仍可导航。

来源: README.md3-7 README.md15-104

主题组织

主题组织在 topics/ 文件夹下的专用目录中。每个主题目录通常包含:

  1. 一个包含主题概述的 README.md 文件
  2. 与主题相关的问题文件 (.md)
  3. 包含实践任务的练习文件
  4. 主题特有的额外资源

一些较大的主题,如 Kubernetes,拥有嵌套的子主题目录,以便更好地组织大量内容。

来源: README.md20-97

练习组织

仓库包含两种主要的练习类型:

  1. 主题特定练习:位于相关主题目录下
  2. 独立练习:位于根目录 exercises/ 目录下

练习旨在实用,通常涉及:

  • 创建基础设施即代码
  • 设置 CI/CD 流水线
  • 容器化应用程序
  • 实施监控解决方案
  • 解决 DevOps 相关挑战

来源: README.md107-114

支持组件

脚本和工具

仓库包含几个有助于维护和更新内容的实用脚本:

  1. count_questions.sh:计算仓库中的问题总数
  2. update_question_number.py:更新 README.md 文件中的问题计数
  3. run_ci.sh:运行持续集成检查
  4. question_utils.py:提供解析和管理问题的工具

这些脚本使用正则表达式解析 markdown 文件,提取问题和答案,并跟踪统计数据。问题计数在 README.md 文件中显著显示,并由这些脚本自动更新。

来源: scripts/question_utils.py10-45 scripts/update_question_number.py10-34

测试与验证

仓库包含测试机制以确保内容质量:

  1. syntax_checker.py:验证 markdown 文件的语法
  2. CI 流程:在合并新内容之前进行验证

内容关系

仓库的内容是相互关联的,主题、问题和练习共同构成一个全面的学习生态系统。

查找特定内容

  1. 按技术:从 README.md 中的图形目录开始
  2. 按主题:导航到相关主题目录
  3. 按问题:使用 README.md 中的可折叠部分
  4. 按练习:在 exercises 目录或主题文件夹中查找

有效学习路径

  1. 从基础主题(Linux、Git 等)开始
  2. 逐步学习更高级的主题(Kubernetes、Terraform 等)
  3. 尝试练习以应用理论知识
  4. 回顾已回答的问题以验证理解

统计和维护

仓库积极跟踪其所包含的问题和练习数量,该计数在 README.md 的顶部附近可见。此计数使用前面描述的实用脚本自动更新。

当前统计:

  • 超过 2,600 个问题和练习
  • 数十个主题领域
  • 定期更新和社区贡献

来源: README.md5 scripts/update_question_number.py23-32

内容如何更新

此图说明了仓库中内容的更新方式,展示了从贡献者 PR 到 CI 流程再到最终合并的工作流。

来源: scripts/question_utils.py1-70 scripts/update_question_number.py1-35