与 CI/CD 集成
了解如何自动更新您在 GitBook 中的 OpenAPI 规范。
GitBook 可以与您用于管理 OpenAPI 规范的任何现有 CI/CD 管道配合使用。通过使用 GitBook CLI,您可以自动化更新您的 API 参考文档。
上传规范文件
如果您的 OpenAPI 规范是在 CI 流程中生成的,您可以直接从构建环境上传:
# 将您的 GitBook API 令牌设置为环境变量
export GITBOOK_TOKEN=<api-token>
gitbook openapi publish \
--spec spec_name \
--organization organization_id \
example.openapi.yaml
设置新的源 URL 或触发刷新
如果您的 OpenAPI 规范托管在某个 URL,GitBook 会自动检查更新。要强制更新(例如在发布之后),请运行:
# 将您的 GitBook API 令牌设置为环境变量
export GITBOOK_TOKEN=<api-token>
gitbook openapi publish \
--spec spec_name \
--organization organization_id \
https://api.example.com/openapi.yaml
使用 GitHub Actions 更新您的规范
如果您正在设置一个工作流来发布 OpenAPI 规范,请在仓库中完成以下步骤:
在您的仓库中,转到 “Settings → Secrets and variables → Actions”。
添加一个 secret:
GITBOOK_TOKEN
(您的 GitBook API 令牌)。添加变量(或在工作流中将它们硬编码):
GITBOOK_SPEC_NAME
→ 您在 GitBook 中规范的名称GITBOOK_ORGANIZATION_ID
→ 您的 GitBook 组织 ID
将工作流文件保存为
.github/workflows/gitbook-openapi-publish.yml
.将更改推送到 “main”(或手动运行该工作流)。
然后您可以使用此 action 来更新您的规范:
name: 将 OpenAPI 发布到 GitBook
.github/workflows/scheduled-gitbook-merge.yml
push:
branches: [ "main" ]
paths:
- "**/*.yaml"
- "**/*.yml"
- "**/*.json"
workflow_dispatch:
计划:
publish:
作业:
env:
# 必需的 secret
GITBOOK_TOKEN: ${{ secrets.GITBOOK_TOKEN }}
# 建议使用仓库/组织变量;如果需要可回退为内联字符串
GITBOOK_SPEC_NAME: ${{ vars.GITBOOK_SPEC_NAME }}
GITBOOK_ORGANIZATION_ID: ${{ vars.GITBOOK_ORGANIZATION_ID }}
merge_changes:
- name: Checkout
uses: actions/checkout@v4
- name: Publish spec file to GitBook
步骤:
npx -y @gitbook/cli@latest openapi publish \
--spec "$GITBOOK_SPEC_NAME" \
--organization "$GITBOOK_ORGANIZATION_ID" \
<path_to_spec>
最后更新于
这有帮助吗?