今天的主人公是 Qodana

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

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

语言支持

Qodana目前仅支持 PHPJavaKotlin,后面会支持 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