metabase源码编译启动

docker官网下载 window版本 docker desktop 并安装 安装完成之后
需开启容器虚拟化功能 进入控制面板\程序 启用关闭window功能点开 勾选 Hyper-V
一、拉取镜像
docker pull centos:7
docker run -it -p 3000:3000 -d centos:7 /bin/bash

二、安装jdk和git
yum install java-1.8.0-openjdk-devel
yum install git

三、在CentOS容器中下载Leiningen的安装脚本。你可以使用以下命令:
curl -O https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
授予安装脚本执行权限。在终端中执行以下命令:
chmod +x lein
将Leiningen安装脚本移动到一个可执行文件的目录,比如/usr/local/bin。在终端中执行以下命令
mv lein /usr/local/bin/

四、配置Leiningen的环境变量 vi或者vim  /etc/profile  末尾追加
export LEIN_HOME=/usr/local
export PATH=$PATH:$LEIN_HOME/bin
source /etc/profile

五、安装 Clojure
curl -O https://download.clojure.org/install/linux-install-1.10.3.855.sh
chmod +x linux-install-1.10.3.855.sh
sudo ./linux-install-1.10.3.855.sh
clojure --version

六、安装新版本nvm 在用nvm安装 node 会自带安装完yarn centos7才支持16及以下的
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 16.0.0
nvm use 14
node -v 
yarn会自动安装好  yarn -v  

七、复制jar到容器 去https://github.com/metabase/metabase/tree/release-x.40.x下载源码 在传入容器  网络没问题情况下 git clone 也行
docker cp E:\zkproject\metabase\metabase-release-x.40.x.zip 248800e243a62d663b70f85a894e1065899db194705c9fbdec9600333879864a:/opt/metabase-master-v40

后续操作都在项目根目录下执行    unzip 解压 到当前目录 cd到 metabase-release-x.40.x 目录

八、yarn 编译前端项目 cd 进入项目根目录 切换镜像源 安装 cypress 
yarn cache clean 
yarn config set registry https://registry.npm.taobao.org/
yarn add cypress --registry=https://registry.npm.taobao.org
查询版本 $(npm bin)/cypress -v

执行 yarn run build 

开始构建 看网络情况 可能比较慢  构建成功会出现下面日志片段 可以在docker desktop查看更方便 下载依赖 解析package.json 文件 直到命令完全结束
2023-11-20 17:10:01 Retrieving lambdaisland/glogi/1.0.83/glogi-1.0.83.jar from https://repo.clojars.org/
2023-11-20 17:10:02 shadow-cljs - dependencies updated
2023-11-20 17:10:12 [:app] Compiling ...
2023-11-20 17:10:27 [:app] Build completed. (93 files, 28 compiled, 0 warnings, 15.29s)
$ yarn && webpack --bail
$ echo $npm_execpath | grep -q yarn || echo '\033[0;33mSorry, npm is not supported. Please use Yarn (https://yarnpkg.com/).\033[0m'
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ husky install
命令结束前的日志i
 [16] /opt/metabase-master-v40/metabase-release-x.40.x/resources/frontend_client/app/fonts/lato-v16-latin/lato-v16-latin-900.woff 83 bytes {0} [built]
2023-11-20 17:12:06         + 4 hidden modules
Done in 696.75s.

九、lein 编译后端项目 
 lein -v 会初始化下载 lein的依赖包 
(单纯编译后端 执行lein run ,lein uberjar 也可以不执行 )

十、进行构建命令(此过程也是相当滴漫长):

./bin/build

中间会有些依赖因为网络原因找不到 都跳过 
1 What would you like to do?
2023-11-20 18:29:31 [T]ry this step again
2023-11-20 18:29:31 [F]ail -- pass the failure of this step to the parent step (which can be retried)
2023-11-20 18:29:31 [S]kip this step
2023-11-20 18:29:31 [R]EPL -- open a REPL so you can debug things
2023-11-21 09:09:21 [Q]uit the build script (or return to the top level if running from the REPL) [T/F/S/R/Q] 
选择 S 回车

编译成功会显示以下日志
Created /opt/metabase-master-v40/metabase-release-x.40.x/target/uberjar+oss/metabase-core-1.0.0-SNAPSHOT.jar
2023-11-21 09:25:01       Created /opt/metabase-master-v40/metabase-release-x.40.x/target/uberjar/metabase.jar
2023-11-21 09:25:02     Uberjar built successfully.
2023-11-21 09:25:02   All build steps finished.

这个时候可以保存一下容器状态 不然退出容器又得重新安装之前的东西
提交容器 docker commit 754a6a43197dc0d1b9c24420d426c4142dd4ddd23b7b7f76cb33fbb233d89b23 my-linux-image-33:latest

十一、启动 jar包 进入 target/uberjar目录

1.使用自定义内存数据库 
java -jar  metabase.jar
2.使用mysql 数据库 需要安装mysql  mysql是固定值 其他的改成实际的数据库名 用户名 密码 ip地址
MB_DB_TYPE=mysql MB_DB_DBNAME=your_database_name MB_DB_PORT=your_database_port MB_DB_USER=your_database_username MB_DB_PASS=your_database_password MB_DB_HOST=your_database_host java -jar metabase.jar

拓展:
本机安装docker 之后 host被改变  要从容器访问本地mysql8.0 需执行以下操作
修改mysql  host为%
select * from mysql.user;
修改加密规则 不然远程访问不了本地mysql8.0
https://blog.csdn.net/lcy1619260/article/details/132302008 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值