小团队使用什么代码扫描工具呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
KratosOmega
V2EX    程序员

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

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

    安卓团队,团队 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
    关于     帮助文档     自助推广系统   nbsp; 博客     API     FAQ     Solana     995 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 18:50 PVG 02:50 LAX 11:50 JFK 14:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86