本文档描述了在 Apollo-11 仓库中实现的持续集成和持续交付 (CI/CD) 工作流。这些工作流自动化了验证、测试和维护任务,确保了文档的准确性和仓库的一致性。有关如何向仓库贡献以及格式标准的信息,请参阅贡献到仓库和拉取请求管理。
Apollo-11 仓库使用 GitHub Actions 来实现自动化工作流,以维护仓库质量。这些工作流主要关注文档验证,确保所有文档文件格式一致。
来源:.github/workflows/markdownlint.yml1-15 package.json1-10
主要的 CI/CD 工作流是 Markdown Linting,它确保仓库中的所有 Markdown 文件都遵循一致的格式标准。这有助于保持文档的可读性和一致性。
来源:.github/workflows/markdownlint.yml1-15
Markdown linting 工作流定义在 .github/workflows/markdownlint.yml 中,并在 push 和 pull request 事件时运行。它使用 DavidAnson/markdownlint-cli2-action GitHub Action 来 lint Markdown 文件。
| 组件 | 描述 |
|---|---|
| 触发事件 | Push 和 Pull Request |
| 运行器 | Ubuntu 最新版 |
| 操作 | DavidAnson/markdownlint-cli2-action@v19 |
| 配置 | .markdownlint.yml |
| 目标文件 | .md, translations/.md, Comanche055/.md, Luminary099/.md |
来源:.github/workflows/markdownlint.yml1-15
该工作流在 GitHub 托管的运行器上运行,并执行以下步骤:
actions/checkout@v3 检出仓库代码.markdownlint.yml 中指定的配置如果检测到任何 Markdown 格式问题,工作流将失败,并指示哪些文件需要更正。
来源:.github/workflows/markdownlint.yml1-15
为了支持本地开发和测试,仓库包含 npm 脚本,允许开发人员在提交更改之前在本地运行相同的 linting 过程。
来源:package.json1-10 bun.lockb1-4
package.json 文件定义了以下用于 linting 的 npm 脚本:
| 脚本 | 命令 | 目的 |
|---|---|---|
lint | markdownlint-cli2 *.md translations/*.md Comanche055/*.md Luminary099/*.md --config .markdownlint.yml | 检查 Markdown 文件的格式问题 |
lint:fix | markdownlint-cli2 *.md translations/*.md Comanche055/*.md Luminary099/*.md --config .markdownlint.yml --fix | 尽可能自动修复 Markdown 格式问题 |
这些脚本可以使用 npm 或 bun 运行:
npm run lint - 检查问题npm run lint:fix - 尽可能自动修复问题CI/CD 工作流与整体仓库结构集成,确保原始 Apollo-11 源代码和支持文档的一致性。
来源:.github/workflows/markdownlint.yml1-15 package.json1-10 Luminary099/README.md1-30
在 Apollo-11 仓库中实现 CI/CD 工作流提供了以下几个主要优势:
这些工作流对于具有重要历史价值的仓库尤为重要,确保随着仓库的演变,文档保持可访问和一致。
来源:.github/workflows/markdownlint.yml1-15 package.json1-10
CI/CD 工作流依赖以下关键依赖项:
| 工具 | 版本 | 目的 |
|---|---|---|
| markdownlint-cli2 | ^0.16.0 | 用于 Markdown linting 的命令行界面 |
| DavidAnson/markdownlint-cli2-action | v19 | 用于 Markdown linting 的 GitHub Action |
这些工具被配置为协同工作,为仓库中的所有 Markdown 文档提供全面的验证。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(2cbe82)