Github java仓库如何配置codecov并展示代码覆盖率图标?

73 阅读3分钟

前言

🌟 原来这样我就可以在自己的项目里用上了?

我们在访问‘druid’、‘fastjson2’等开源项目主页时,可以看到关于代码覆盖率的图标显示百分比%,如druid:coverage

🎁‌ 文末还准备了idea快速升级maven版本插件分享,一定要看到最后!‌

这个效果是怎么实现的呢?接下来我将带你进行简单的使用介绍。并将自己踩过的坑也一并列出,这样大家后续也能快速的在自己的开源项目中使用起来啦(看起来level上升啊有木有~)
大家排排坐好,系好安全带,开始发车啦!

正文

配置步骤

  1. pom进行配置jacoco插件,并可生成测试报告 (可参考开源项目,或搜索相关配置,本文略过)

  2. 进行登录 app.codecov.io/ 进行授权 (如已授权,则直接进行登录即可)

  3. 在codecov网站的Repos列表找到对应的项目,点击 Configure,然后选择CI为Github Actions。

Coverage page.png

  1. 复制codecov网站提供的CODECOV_TOKEN值,进入github要配置的项目找到Settings进行添加Repository secrets (如图)

Name: CODECOV_TOKEN
secrets: xxxx (codecov网站复制过来的值)

Actions secrets and variabies.png

Actions secrets and variabies setting.png

注:

可通过链接地址进行访问设置页面:

https://github.com/{username}/{repository name}/settings/secrets/actions/new

5. 进行添加GitHub Actions workflow yaml file(ci.yml),之后当文件变更时可触发执行tests,并上传执行结果到Codecov

参考配置:


name: Upload coverage reports to Codecov

on:
  push:
    # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-excluding-paths
    paths-ignore:
      - 'docs/**'
      - '**.md'
  pull_request:
    paths-ignore:
      - 'docs/**'
      - '**.md'

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Run tests and collect coverage
        run: mvn -B test
      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@v4.0.1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}

  • 方式1: 直接添加 .github/workflows/ci.yml 进行push (需要有workflow权限)

如果push没有操作权限,则需要在github上先进行生成token(包含workflow权限),再进行push

生成token链接:

github.com/settings/to…

New personal access token.png

  • 方式2:在github页面上进行添加ci文件

Actions page.png

Choose a workflow.png

注:

可通过链接地址进行访问添加页面:

main分支:

https://github.com/{username}/{repository name}/new/main?filename=.github%2Fworkflows%2Fmain.yml&workflow_template=blank

master分支:

https://github.com/{username}/{repository name}/new/master?filename=.github%2Fworkflows%2Fmain.yml&workflow_template=blank

6. 提交代码文件后关注GitHub Actions是否执行成功

如何找到svg图标进行在自己开源项目主页展示

  • 方式一:

    1.快速访问链接地址:(也可登录codecov页面后,点击Repo进入后访问)

      https://app.codecov.io/gh/{username}/{repository name}/config/badge
    

    2.复制对应的链接粘贴在对应的.md文件(如README.md)指定位置即可

  • 方式二:

可以按照格式直接进行替换作为链接,然后粘贴在对应的.md文件(如README.md)指定位置即可

以username:alibaba ,repository name:druid, branch name: master为例的效果图如下:

默认样式: codecov

参考druid项目样式:coverage

# 默认样式格式:
[![codecov](https://codecov.io/gh/{username}/{repository name}/branch/{branch name}/graph/badge.svg)](https://codecov.io/gh/{username}/{repository name})

## 默认样式示例: 
[![codecov](https://codecov.io/gh/alibaba/druid/branch/master/graph/badge.svg)](https://codecov.io/gh/alibaba/druid)


## 参考druid样式格式: 

[![Codecov](https://img.shields.io/codecov/c/github/{username}/{repository name}/{branch name}?logo=codecov&logoColor=white)](https://codecov.io/gh/{username}/{repository name}/branch/{branch name})

## 参考druid样式示例: 

[![Codecov](https://img.shields.io/codecov/c/github/alibaba/druid/master?logo=codecov&logoColor=white)](https://codecov.io/gh/alibaba/druid/branch/master)


参考链接:

docs.codecov.com/docs/quick-…

插件分享

框架开发大佬、中台开发大佬快来看~ Maven快速调整项目版本再也不用手敲命令啦,小白也能快速调整!!!

🎁 关注后回复【申请试用】领取IDEA Maven快速升级插件KEY

结尾

以上就是本篇文章的全部内容啦,感谢你的阅读和观看。如果你觉得这篇文章有所帮助,欢迎“点赞”或分享给需要的小伙伴~

另外也欢迎关注公众号“新程快咖员”解锁更多内容!