GitHub Actions 奇技淫巧---异常日志查看

1. 相遇相识

这两天为 jfoa 添加了 PDF 导出的支持, 但是项目在本地跑着没啥问题, 但是 CI 却报错了, 查看 GitHub Actions 构建控制台却发现以下输出:

file

尴不尴尬? 意不意外? 我怎么访问 CI 的测试报告呢? 本地没问题, CI 测试出错, 测试报告看不到, 我…

2. 解决办法

上一篇我们介绍了 GitHub Actions CI/CD 解放码农双手, 当时我们将 jfoa 的打包的客户端上传至 GitHub, 那么我们是否也可以将测试报告也上传到 GitHub?

答案当然是: Yes!

2.1 找到测试报告所在目录

SpringBoot 使用 gradle 构建的话, 默认测试报告在 build/reports/ 目录下, 因此, 我们可以直接上传这个目录到 GitHub.

2.2 上传测试报告

参考 upload-artifact 文档可以看到如下介绍:

file

因此上传这个目录就可以用 path 指定到目录就可以了(path 最后的目录分隔符 ‘/’ 可带可不带)
jfoa 上传的 action 就如下


	 .... build action... 先执行 build, 再上传测试报告, 因为 build 会执行 test, 只有执行了 test 之后才会生成测试报告

    # upload build test reports
    - name: Publish reports
      uses: actions/upload-artifact@v2
      with:
        name: jfoa-build-reports-${{ runner.os }}
        path: runner/build/reports/

2.3 运行状态

修改提交之后我们发现构建如果没有抛错的话, workflow 可以顺利执行完成, 但是当 build 执行失败(编译未通过或者 test 执行失败等)依然不会有测试报告上传!
Why? 因为先执行 build, 再上传测试报告, 如果 build 执行失败了, 之后的action 就不会再执行了!!

因此, 我们希望, 而且大部分情况下只有 build 执行失败的时候测试报告才显得更加重要.
所以, 我们需要 GitHub actions 无论 build 是否执行成功, 都将测试报告上传. 查阅文档, 就可以发现通过 always() 就可以实现.

    # upload build test reports
    - name: Publish reports
      if: always()
      uses: actions/upload-artifact@v2
      with:
        name: jfoa-build-reports-${{ runner.os }}
        path: runner/build/reports/

always() 总是返回 true.

2.4 结果展示

file

file

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值