今天的主人公是 Qodana

Qodana 是 JetBrains 团队工具系列中的新产品,它是用于代码质量监视的强大,灵活的解决方案。该产品的目的是识别并提出针对代码库中的错误,安全漏洞,重复项和缺陷的修补程序。将JetBrains的经验与代码开发相结合,并且与许多其他产品相交以增强和增强其功能。

Qodana可以在任何CI工具上运行

语言支持

Qodana目前仅支持 PHP,Java 和 Kotlin,后面会支持 JetBrains IDE 家族下的语言和技术。敬请期待吧

如何使用

Docker

首先,从 Docker Hub 拉取镜像

1
docker pull jetbrains/qodana

运行以下命令,将 <source-directory> 替换为项目的根路径,然后打开打印在命令行输出中的 URL 以查看报告。

1
docker run --rm -it -v <source-directory>/:/data/project/ -p 8080:8080 jetbrains/qodana --show-report

例如

1
docker run --rm -it -v /root/docker_springboot/:/data/project/ -p 8080:8080 jetbrains/qodana --show-report

扫描过程可能有点久,我们稍等片刻

img

扫描完成之后会在命令行输出 URL,然后我们在浏览器打开 URL

img

大功告成!

既然刚刚说了 Qodana 可以在任何CI工具上运行

那我们就简单的在 GitHub Actions 中使用

GitHub Actions

前提

准备一个要进行扫描的项目

准备一个 GitHub 仓库

  1. 首先在你项目的根目录新建 .github 文件夹 然后 CD 到 .github 新建 workflows 文件夹,最后在 workflows 文件夹新建 qodana.yml 文件

    懒的话,可以在项目的根目录打开 Git Bash Here 执行如下命令

    1
    mkdir .github && cd .github && mkdir workflows && cd workflows && touch qodana.yml

    img

  2. 打开 qodana.yml,吧里面的内容复制到你的 qodana.yml

  3. push 到 GitHub 仓库

  4. 进入你的仓库点击 Actions

    img

  5. 点击步骤看图中序号

    img

  6. 就可以看到正在执行中了

    img

  7. 执行成功

    img

  8. 下载 ZIP

    img

大功告成!

非常简单

Qodana GitHub