cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo

项目是一个集成gitbase 的demo,实际可以按照自己的项目修改,同时集成了redis cache,gitbase-web

环境准备

  • 项目结构
├── README.md
├── cube
│ ├── Dockerfile
│ ├── index.js
│ ├── package.json
│ └── schema
│ ├── Blobs.js
│ ├── CommitBlobs.js
│ ├── CommitFiles.js
│ ├── CommitPerMonth.js
│ ├── CommitTrees.js
│ ├── Commits.js
│ ├── Committer-Repos.js
│ ├── Files.js
│ ├── RefCommits.js
│ ├── Refs.js
│ ├── Remotes.js
│ ├── Repositories.js
│ ├── TopNCommitters.js
│ ├── TopNRepoCommit.js
│ └── TreeEntries.js
├── docker-compose-bblfsh.yaml
└── docker-compose.yaml
  • docker-compose.yaml

    项目中包含了两个,有一个包含了bblfsh ,主要说明不包含bblfsh的

version: "3"
services:
gitbase-web:
image: srcd/gitbase-web:latest
environment:
- "GITBASEPG_DB_CONNECTION=root@tcp(gitbase:3306)/none"
ports:
- "8080:8080"
redis_db:
image: redis
ports:
- "6379:6379"
cube:
build: ./cube
env_file: .env
ports:
- "4000:4000"
volumes:
- ./cube/schema:/usr/src/app/schema
command: node index.js
gitbase:
container_name: gitbase
hostname: gitbase
image: srcd/gitbase:v0.20.0-rc2
volumes:
- "./git-demos:/opt/repos"
ports:
- "3306:3306"
  • cube 项目docker 配置

    cube 目录包含了需要的dockerfile

Dockerfile:
FROM node:10-alpine
LABEL AUTHOR="dalong"
LABEL EMAIL="1141591465@qq.com"
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4000
  • cube nodejs 项目

    nodejs 项目依赖的npm 包,以及启动入口

package.json:
{
"name": "gitbase-demo",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "./node_modules/.bin/cubejs-dev-server"
},
"dependencies": {
"@cubejs-backend/mysql-driver": "^0.9.2",
"@cubejs-backend/server": "^0.9.2"
}
}
index.js:
const CubejsServer = require('@cubejs-backend/server');
const server = new CubejsServer();
server.listen().then(({ port }) => {
console.log(`

cube.js 学习 cube docker-compose 运行的更多相关文章

  1. cube.js 学习 cube 连接mongodb 试用

    cube.js 对于mongodb 的连接是通过mongodb bi connector(mysql 协议)处理的,以下为简单的试用 安装mongo bi connector 这个玩意用docker ...

  2. cube.js 学习(八)backend部署模式

    cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 s ...

  3. cube.js 学习(十)cube 来自官方的学习网站

    尽管cube.js 包含了一个doc 站点,但是资料不是很全,同时如果查看了cube github 代码中的一些demo的话,发现还是很不错的 但是一些实践没有在文档展现出来,还好我们可以从cube ...

  4. cube.js 学习(一)简单项目创建

    cube.js 是一个很不错的模块化分析框架,基于schema生成sql 同时内置可代码生成,可以快速的搞定 web 分析应用的开发 安装cli 工具 npm install -g cubejs-cl ...

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

    这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大 ...

  6. cube.js 学习(七)cube.js type 以及format 说明

      cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purc ...

  7. cube.js 学习(五)cube.js joins 说明

      cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne ...

  8. cube.js 学习(四)cube.js cube 说明

      cube 是cube.js data schema 的核心,里面定义了生成sql 的说明 一个比较全的schema 例子 cube(`Users`, { sql: `select * from u ...

  9. cube.js 学习(三)cube.js data schema

    cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了mea ...

随机推荐

  1. 挂载一个NFS共享

    在 system2 上挂载一个来自 system1.group8.example.com 的NFS共享,并符合下列要求: 1./public 挂载在下面的目录上 /mnt/nfsmount 2./pr ...

  2. MOOC C#笔记(一):数据类型

    C#笔记 基础知识 一个C#程序主要包括以下部分: 命名空间声明(Namespace declaration) 一个 class Class 方法 Class 属性 一个 Main 方法 语句(Sta ...

  3. 利用windows服务实现整点报时功能

    程序语言:C# 实现目标:程序托管自动运行,每到整点播放语音报时. 准备素材:00——23点的整点报时声音文件. 实现过程: 1.新建windows服务项目 2.添加安装程序 3.设置服务属性 [添加 ...

  4. iOS - 崩溃异常处理(1)

    https://www.jianshu.com/p/4d32664dcfdb 一.关于崩溃 闪退估计是我们最不想看到的,对于用户而言,马上就能产生一种不悦,对于投资方而言,也会产生对技术实力的不信任感 ...

  5. ASP.Net超时时间已到解决办法-

    解决办法 1.在代码里面,把未关闭的连接关闭 2.扩大共享池,方法如下: 解决方法可以是修改连接池的连接生存期,因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间. 具体操作步骤如下: ...

  6. workermanPHP聊天框架项目windows环境部署实践

    一.官方下载地址: https://www.workerman.net/workerman-chat 二.下载后解压至任意目录,如下图: 三.windows需配置PHP环境变量,如下图: 四.双击st ...

  7. k8s资源清单基础

    资源清单介绍 创建资源的方法  apiserver仅接收JSON格式的资源定义  yaml格式提供配置清单 apiserver可自动把yaml转换成json格式数据 资源清单五个一级字段   1.ap ...

  8. Java字符串操作工具类

    import java.io.ByteArrayOutputStream; import java.io.UnsupportedEncodingException; import java.lang. ...

  9. CAS 的问题

    cas这么好用,那么有没有什么问题呢?还真有 ABA问题 CAS需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时 ...

  10. SpringBoot整合定时任务和异步任务处理

    SpringBoot定时任务schedule讲解 简介:讲解什么是定时任务和常见定时任务区别 1.常见定时任务 Java自带的java.util.Timer类 timer:配置比较麻烦,时间延后问题, ...