doxygen 文档构建成功,工件部署到 gitHub 页面失败

问题描述 投票:0回答:1

我正在尝试构建 Doxygen 文档并将其发布到 GitHub Pages。一般来说,我会构建静态 HTML 和 CSS 文件,生成它们,然后将它们推送到存储库。然后,我使用自定义静态操作将文件发布到 GitHub Pages。我希望自动化构建和发布过程,而不需要将静态网页与代码一起推送。所以,我修改了我的旧 GitHub Action 脚本如下

name: build-docs
on:
  push:
    branches: ["main"]
permissions:
  contents: write
  pages: write
  id-token: write
jobs:
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install Doxygen
        run: |
          sudo apt-get update 
          sudo apt-get install -y doxygen
      - name: Install Graphviz
        run: sudo apt-get install -y graphviz
      - name: Create docs directory
        run: mkdir -p ./docs/html
      - name: Run Doxygen to generate documentation
        run: doxygen ./docs/Doxyfile
      - name: Setup Pages
        uses: actions/configure-pages@v5
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: './docs/html'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

在这里,一切正常,所有构建日志都成功输出,但是当我浏览创建的域时,我收到 404 错误:404 错误
这是存储库:链接
页面设置设置为从 GitHub Actions 部署。

我尝试从存储库设置中更改 GitHub Pages 设置,设置环境并删除它(存储库没有秘密或环境变量 - 我不太了解它的作用)。

我还尝试将自定义运行作业添加到工作流程中以检查生成的文件并下载工件。一切看起来都很好(生成的 Web 文件是正确的),但是发布步骤失败,没有给出任何合理的输出或错误!

github-actions github-pages doxygen
1个回答
0
投票

docs/Doxyfile
中,
OUTPUT_DIRECTORY
配置了两次:

OUTPUT_DIRECTORY        = ./       # Line 9
OUTPUT_DIRECTORY = ./docs/html     # Line 38

参见:

由于最后一个,输出是在以下位置生成的:

docs/html/html

并且,不位于:

docs/html

由于 GitHub Pages 部署来自

docs/html
,因此这里没有
index.html
,因此出现 404 Page not found 错误。

因此,使用当前配置:

将第 9 行上的

OUTPUT_DIRECTORY
更改为
./docs
并删除/注释第 38 行应该可以解决此问题:

OUTPUT_DIRECTORY = ./docs          # Line 9

此外,无需在工作流程中创建

./docs/html
目录,即:

- name: Create docs directory
  run: mkdir -p ./docs/html

它将由

doxygen
自动创建。

© www.soinside.com 2019 - 2024. All rights reserved.