You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Github Actions中发布(部署)Allure测试报告

在GitHub Actions中部署Allure交互式测试报告的最佳实践

方案1:通过GitHub Pages托管报告(最常用)

这是最稳定的方案,利用GitHub Pages的静态文件托管能力,把Allure生成的静态报告部署上去,支持历史版本留存。

  • 步骤1:配置仓库的GitHub Pages
    进入仓库的「Settings」→「Pages」,将「Source」设置为「GitHub Actions」,保存配置。

  • 步骤2:编写/修改GitHub Actions工作流
    在仓库的.github/workflows/目录下创建或修改测试工作流文件(比如test-and-deploy-allure.yml),加入报告生成与部署步骤:

    name: 运行测试并部署Allure报告
    on: [push, pull_request]
    
    jobs:
      test:
        runs-on: ubuntu-latest
        steps:
          - name: 拉取代码
            uses: actions/checkout@v4
    
          - name: 配置Java环境
            uses: actions/setup-java@v4
            with:
              java-version: '17'
              distribution: 'temurin'
    
          - name: 执行测试并生成Allure报告
            run: ./gradlew test allureReport
    
          - name: 部署报告到GitHub Pages
            uses: peaceiris/actions-gh-pages@v4
            with:
              github_token: ${{ secrets.GITHUB_TOKEN }}
              publish_dir: ./build/reports/allure-report
              publish_branch: gh-pages # 专门用于托管Pages的分支
              keep_files: true # 保留历史报告,支持版本回溯
    
  • 步骤3:访问报告
    部署完成后,报告地址为https://<你的GitHub用户名>.github.io/<仓库名>/。如果需要区分不同运行的报告,可以修改部署逻辑,把每个报告放到以运行编号命名的目录中:
    比如在部署前添加一步复制报告到目标目录:

    mkdir -p ./allure-reports/${{ github.run_number }}
    cp -r ./build/reports/allure-report/* ./allure-reports/${{ github.run_number }}/
    

    然后把publish_dir设为./allure-reports,这样历史报告可以通过https://<用户名>.github.io/<仓库名>/<运行编号>/访问。

方案2:使用Allure官方Action简化流程

Allure官方提供了专门的GitHub Action,能自动处理报告生成、历史合并和PR内报告预览:

name: 运行测试并发布Allure报告
on: [push, pull_request]

jobs:
    test:
      runs-on: ubuntu-latest
      steps:
        - name: 拉取代码
          uses: actions/checkout@v4

        - name: 配置Java环境
          uses: actions/setup-java@v4
          with:
            java-version: '17'
            distribution: 'temurin'

        - name: 执行测试生成Allure结果
          run: ./gradlew test

        - name: 发布Allure报告
          uses: allure-framework/allure-github-action@v2
          with:
            allure_results: build/allure-results
            gh_pages: gh-pages
            allure_report: build/reports/allure-report
            allure_history: allure-history
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

这个Action会自动维护历史报告目录,部署后你可以在GitHub Pages查看完整的报告历史,同时在PR的评论区会自动附上本次运行的报告链接。

关键注意事项

  • 确保仓库的GitHub Pages已启用,且gh-pages分支(或你指定的部署分支)允许Actions写入。
  • 私有仓库的GitHub Pages默认仅仓库成员可访问,若需公开访问,可在Pages设置中调整访问权限。
  • 执行顺序必须是先运行test生成测试结果文件,再运行allureReport生成静态报告,否则报告会为空。

内容的提问来源于stack exchange,提问作者Владислав Загородний

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:02:48