菜单

CI/CD 工作流

相关源文件

目的与范围

本文档描述了 ML-For-Beginners 存储库中实现的持续集成和持续部署(CI/CD)工作流程。它涵盖了用于验证内容、构建资产以及部署课程和相关应用程序的自动化流程。有关存储库结构和配置的信息,请参阅 存储库配置

ML-For-Beginners 中的 CI/CD 概述

ML-For-Beginners 存储库使用 GitHub Actions 来自动化测试、构建和部署流程。这些工作流程可确保课程材料的一致性,验证翻译,并部署相关的 Web 应用程序。

来源:TRANSLATIONS.md

关键的 CI/CD 工作流

内容验证工作流程

内容验证工作流程可确保所有课程材料都一致且格式正确。

来源:TRANSLATIONS.md

翻译管理工作流程

该存储库通过结构化的翻译流程支持多种语言。CI/CD 工作流程会验证新的翻译,并确保它们正确集成到课程和测验应用程序中。

来源:TRANSLATIONS.md

测验应用程序部署

测验应用程序是学习体验的关键组成部分。测验内容或应用程序代码的更改将触发构建和部署工作流程。

来源:TRANSLATIONS.md

翻译 CI/CD 流程

翻译过程是使课程具有全球可访问性的关键部分。CI/CD 工作流程通过自动化验证和集成步骤来专门支持此过程。

翻译文件结构

该存储库维护着特定的翻译结构,以确保与 CI/CD 流程的一致性和正确集成。

文件类型命名约定位置
课程 READMEREADME.[language].md在课程文件夹中
作业assignment.[language].md在课程文件夹中
测验翻译[language].jsonquiz-app/src/assets/translations/

来源:TRANSLATIONS.md

翻译验证和集成

当提交新的翻译时,CI/CD 工作流程会执行以下步骤:

  1. 验证文件名是否遵循正确的约定(例如,西班牙语的 README.es.md)
  2. 对于测验翻译,验证 JSON 结构
  3. 确保与测验应用程序正确集成
    • 将语言添加到 App.vue 的下拉菜单中
    • 更新 translation index.js 文件
    • 更新翻译后的 README 文件中的测验链接

来源:TRANSLATIONS.md

测验应用程序 CI/CD

测验应用程序使用 Vue.js 构建,并部署到 Azure Static Web Apps。CI/CD 流程可确保测验内容或翻译的更改得到正确集成和部署。

测验翻译文件

测验应用程序包含多种语言的翻译文件。每个文件都遵循结构化的 JSON 格式。

来源:TRANSLATIONS.md、quiz-app/src/assets/translations/it.json、quiz-app/src/assets/translations/ja.json

测验应用程序部署流程

当测验应用程序或其内容发生更改时,CI/CD 工作流程将构建并部署更新后的应用程序。

来源:TRANSLATIONS.md

文档生成工作流程

CI/CD 流程还包括从课程内容生成文档。

来源:TRANSLATIONS.md

翻译工作流程集成

翻译工作流程与 CI/CD 流程紧密集成,以确保翻译的内容得到正确验证和部署。

翻译指南强制执行

CI/CD 工作流程会强制执行翻译指南,以在整个课程中保持一致性。

  1. 只有 README 文件、作业和测验需要翻译(代码示例不需要)
  2. 翻译后的文件必须遵循命名约定:README.[language].md
  3. 测验翻译必须以正确的格式添加到 quiz-app 中
  4. 翻译后的 README 中的测验链接必须指向正确的本地化测验 URL

来源:TRANSLATIONS.md

CI/CD 工作流程的一个关键部分是确保翻译后的 README 文件中的测验链接指向正确的本地化测验 URL。

来源:TRANSLATIONS.md

结论

ML-For-Beginners 存储库中的 CI/CD 工作流程自动化了内容验证、翻译管理和应用程序部署的关键流程。这些工作流程确保了课程的一致性,同时支持多种语言和交互式学习组件。

主要工作流程侧重于:

  1. 内容验证,以确保质量和一致性
  2. 翻译管理,以支持全球可访问性
  3. 测验应用程序部署,以提供交互式评估
  4. 文档生成,以创建全面的学习材料

这些自动化流程有助于维护课程的质量,同时使其能够被全球受众所访问。