V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KratosOmega
V2EX  ›  程序员

小团队使用什么代码扫描工具呢?

  •  
  •   KratosOmega · 2023-11-24 22:04:56 +08:00 · 2150 次点击
    这是一个创建于 370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓团队,团队 7 个人,下面的人写代码实在太烂了,各种复制粘贴。 需要像 SonarQube+Bitbucket 那样的,扫描后可以和 PR CodeReview 联动,扫描不通过 PR 不给过那种。但是 SonarQube 真的贼贵,请问有没有 [开源免费的替代方案]

    第 1 条附言  ·  2023-11-25 16:20:21 +08:00
    整理一下需求:
    1. 尽量要免费的,小团队花不起钱。
    2. gitlab 社区版不考虑了,PR/MR 的 Code Review 体验太差。只能增加一个 Reviewer ,缺少很多灵活配置。
    3. 代码扫描的结果,需要与 git 平台上的 PR/MR 联动,扫描有问题可以自动标记“NEED WORK”,阻止 PR/MR 的合并。
    4. 代码扫描工具可以不限于 sonarqube ,也可以是 checkStyle 、FindBugs 等。
    11 条回复    2023-11-25 21:40:39 +08:00
    playtomandjerry
        1
    playtomandjerry  
       2023-11-24 23:30:57 +08:00 via iPhone
    别整乱七八糟的工具了,老老实实 code review 吧,与其折腾工具,还不如自己动手,
    lry
        2
    lry  
       2023-11-24 23:35:02 +08:00   ❤️ 1
    我记得 sonarqube 社区版是开源的吧
    Tabjy
        3
    Tabjy  
       2023-11-25 02:35:40 +08:00
    spotbugs + surefire 然后 ci 那边跑 ./gradlew check

    如果是 GitLab 的话可以用 Runner 做 ci ,GitHub 有 Actions ,其他平台不清楚
    KratosOmega
        4
    KratosOmega  
    OP
       2023-11-25 10:43:30 +08:00
    @lry #2 社区版没法修饰 PR ,就是没有 PR Decoration
    KratosOmega
        5
    KratosOmega  
    OP
       2023-11-25 10:44:43 +08:00
    @Tabjy #3 check 了之后的 result 有没有办法 PR Decoration
    Tabjy
        6
    Tabjy  
       2023-11-25 11:27:19 +08:00
    @KratosOmega runner 和 action 都可以 但是要自己额外设置,Google 一下应该能找到相关教程
    KratosOmega
        7
    KratosOmega  
    OP
       2023-11-25 12:01:02 +08:00 via iPhone
    @Tabjy runner 是可以跑 sonarqube ,但是没法 PR Decoration 吧。
    而且 Gitlab 社区版 Vode Review 的体验很差
    Tabjy
        8
    Tabjy  
       2023-11-25 12:15:40 +08:00
    @KratosOmega 不好意思之前不确定你说 pr decoration 什么意思。runner 可以通过上传 test summary 的方法在 pr 页面显示 ci 发现的问题,但是不确定有没有直接在代码上 comment 的能力(不使用 bot 的情况下)
    KratosOmega
        9
    KratosOmega  
    OP
       2023-11-25 16:15:43 +08:00
    @Tabjy #8 PR Decoration 在 bitbucket 上长这样的: https://www.google.com/search?q=sonarqube+bitbucket+decoration&newwindow=1&sca_esv=585206540&tbm=isch&sxsrf=AM9HkKn5sFRrPZnjp5L0yyWRBHIHpUp7DQ:1700899949761&source=lnms&sa=X&ved=2ahUKEwjr8raK2t6CAxWZsFYBHRczB7IQ_AUoAXoECAQQAw&biw=1309&bih=667&dpr=2.2#imgrc=FOOKMrpty5ruJM

    可以在代码上 comment ,扫描出问题该 PR 会标记为“NEED WORK”无法合并。

    你们的 gitlab 是社区版的吗? gitlab 社区版我们不会考虑了,企业版又太贵
    chenliang0724
        10
    chenliang0724  
       2023-11-25 20:25:18 +08:00
    可以考虑看看 你的 git 服务是否有相关的 webhooks . 用的 gitlab 的话 可以尝试使用 webhook 处理 pipeline
    lry
        11
    lry  
       2023-11-25 21:40:39 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1135 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.