共计 1854 个字符,预计需要花费 5 分钟才能阅读完成。
Qodana 是 JetBrains 推出的代码品质检测工具。它将 JetBrains IDE 具备的智能代码查看带入了我的项目 CI/CD 管道中。它能够辨认代码中的谬误,安全漏洞,反复项和缺点并提出修复倡议。使开发人员轻松地改善代码构造,使代码合乎泛滥准则和规范,解决潜在的性能问题
Qodana 为您提供我的项目品质概览,让您设定品质指标并跟踪其进度。您能够疾速调整利用于我的项目的查看列表,并在剖析中包含或删除目录。
Qodana 反对与很多代码仓库集成。本篇博客解说 Qodana 与 GitHub Actions 集成
为什么抉择 Qodana
- 缩小破费在代码审查和修改问题上的工夫 。Qodana 能够主动执行代码质量检查并执行例行工作,例如查找反复项、可能的谬误、格局问题,以及您抉择的其余规定。这样一来,您能够修改检测到的问题并立刻返回我的项目
- 一处配置,随处运行 。通过雷同的代码检查和配置文件,Qodana 能够应用与您青睐的 JetBrains IDE 雷同的语言。您能够配置查看,在本地依赖它们,并应用服务器端品质门确保整个团队的规定
- 在不升高 IDE 性能的状况下运行资源密集型查看 。在宏大的代码库中,数据流剖析须要大量额定资源,简直不可能在开发者机器上运行。借助 Qodana,您能够在服务器上运行这些查看并将其后果间接传送到您的 IDE
- 通过动态代码剖析丰盛 CI 管道 。Qodana 简直可与任何 CI 管道集成,因而您能够在开发晚期发现缺点。如果您的 CI 零碎的用户界面能够扩大,Qodana UI 将与其无缝集成。同样,您能够通过 Web 服务器公开 Qodana UI
- 辞别孤立团队和不统一的查看 。应用 Qodana,您能够确保所有共事都将雷同的规定利用于代码质量检查。最初,你们将独特创立整洁统一的代码
- 对外部奉献放弃信念 。在承受对我的项目的内部奉献之前,您须要额定保障贡献者遵循您的准则。无论是对开源我的项目的拉取申请还是您委派给分包商的工作,Qodana 都会执行例行查看,并帮忙您确定它对我的项目是否平安
- 更好的布局工作 。将大我的项目分成小步骤!切换到更新版本的语言或框架,或者解脱某种实用程序或模式可能是一项艰巨的工作。您能够构建一个报告来评估所有待批改的代码片段、预计工作量、决定应该波及多少团队成员,并应用 Qodana 仪表板监控进度
语言反对
Qodana 目前反对 Java
、Php
、Python
、Javascript
、.NET
和 Go
等语言,如果短少您将在我的项目中常常应用的语言,请分割 Qodana 团队
应用
- 登陆 Qodana Cloud
在浏览器地址栏输出 https://qodana.cloud/,关上 Qodana 官网,如图所示
点击 Continue with your JetBrains account
按钮,跳转登陆界面
如图所示,笔者抉择应用 GitHub
账号登陆,依据本人的应用状况,抉择对应的选项,其后果如下
- 创立新我的项目
点击第一步中的 + Create first project
按钮,如图所示
点击 Save
按钮,再点击 Generate token
按钮,生成 token
, 复制 token
, 创立 Secret
- 在我的项目中增加 Qodana 配置文件
在我的项目的根目录中,创立 .github/workflows/code_quality.yml
文件,文件内容如下:
name: Qodana
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
jobs:
qodana:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: "Qodana Scan"
uses: JetBrains/qodana-action@v2022.3.2
env:
QODANA_TOKEN: ${{secrets.QODANA}}
应用此工作流程,Qodana 将在主分支和进入您的存储库的拉取申请上运行
- 查看后果
将 code_quality.yml
配置文件推送到近程仓库。等构建实现后,能够在 Qodana Cloud 上看到后果
如图所示,我的项目中的查看后果以列表的模式展现进去,给出具体文件名和起因。比方 index.js
中有一个 Unresolved variable or type module
。点击 Unresolved variable or type module
查看详情
Qodana 展现具体的代码地位,点击 Open file in WebStorm
按钮,能够间接跳转编辑区的代码地位
参考链接
- Qodana