cube.js 学习(十一)cube + gitbase 分析git 代码

这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码

需求

我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大了
这个就需要我们进行git 代码文件级别的分析了,可选的工具很多gitstats 就是一个不错的选择,但是大部分是基于
单仓库管理的,gitbase 则不同,给予我们提供了大批量的分析能力

环境准备

  • gitbase 安装
    参考官方文档,直接二进制文件就可以了
  • cube.js
    这个我们可以通过全局安装,很简单 npm install -g cubejs-cli

分析几个git 仓库代码

demo 很简单,但是当前使用的cube-cli 在获取元数据上有点问题(<0.9.0),但是我们可以手动编写cube schema解决

  • 初始化cube 项目
cubejs create dalongdemo -d mysql          
  • 启动gitbase 项目

    自己准备git 代码,以下demo 是我自己的环境

gitbase server -v --host=192.168.0.104 -d git-demos
  • 修改cube 数据库配置

    cube 使用dotenv 解决配置管理,只需要修改.env 文件即可,以下为我自己的环境

CUBEJS_DB_HOST=192.168.0.104
CUBEJS_DB_NAME=gitbasee
CUBEJS_DB_USER=root
CUBEJS_DB_TYPE=mysql
CUBEJS_API_SECRET=c9ad3523f1ccf6e6c0c17654b22baa0c942a1106a4e493c025bca1cbf79b61cc2a019d95b77b34d666ebc6172fd09b4b6d9dd0618ee21da6cda3875295cb4f36
  • 手工编写cube schema

    因为gitbase 没有提供表的schema 元数据表信息,为了集成cube 需要我们自己编写cube schema ,以下是一个简单的count 聚合操作

cube(`repos`, {
    sql: `
    select * from repositories
    `,
    measures: {
      count: {
        type: `count`
      },
    },

    dimensions: {
        repository_id: {
        sql: `repository_id`,
        type: `string`
      }
    }
  });
  • 项目结构
├── index.js
├── package.json
└── schema
    └── repos.js

启动&&测试

  • 启动cube 项目
yarn dev

效果

  • 简单操作

    使用ui 界面操作

  • 说明
    这个只是简单的操作,实际上我们可以做好多强大的功能,充分利用 gitbase 提供的sql 查询接口,可以做好多很灵活的操作

参考资料

https://docs.sourced.tech/gitbase/using-gitbase/schema
https://cube.dev/docs/cube

posted on   荣锋亮  阅读(582)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-05-12 SLA了解
2014-05-12 sql server merge into 与update 批量更新1 百万测试数据的性能比较
2014-05-12 转 update关联更新在sqlserver和oracle中的实现
2014-05-12 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据
2014-05-12 sql 分组后显示每组的前几条记录

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示