miniob项目部署

Docker部署

官方提供两种部署方式,可以本地部署也可以通过docker部署,docker可以一键部署,不需要配置环境,故采用docker部署。

  • 官网下载docker
  • 一键部署 docker run oceanbase/miniob
    • 第一次run的时候docker会自动去仓库下载miniob镜像
    • 镜像中存在一份miniob源码,但建议本地拉取一份后挂载在docker容器中运行(方法和原因在后面)
    • 编译:执行文件中的build.sh即可

VScode运行+调试

  • 首先我们需要从github上拉取一份最新的代码到本地 git clone https://github.com/oceanbase/miniob.git
  • 新建一个容器并将本地代码挂载到该容器中运行
    • 原因1:在docker镜像中的代码不是最新的
    • 原因2: 我在docker中使用gitpush代码到githua远程仓库失败,导致后续无法提测
    • 方法:在本地拉取一份代码,运行在docker中,在docker中编辑和调试,可实现与本地文件的关联,然后在本地文件中push即可(也可能有更好的方式)
    • 挂载方式新建一个新容器:docker run -it -v /usr/lyjps/miniob:/lyjps oceanbase/miniob 注:-v表示挂载,:前面表示本地文件目录,:后面表示你要在docker 容器中挂载的位置(随意,没有该目录也会新建)
  • 打开vscode并下载docker插件,然后可以看到我们正在运行的容器,然后将容器关联到vscode,打开我们刚才挂载位置的文件即可
  • 如何单步调试:需要在.vscode目录下配置launch.json和tasks.json
  • launch.json
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/bin/observer",
            "args": ["-f", "../../etc/observer.ini"],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "CMake Build"
        }
    ]
}
  • tasks.json
{
    "options": {
        "cwd": "${workspaceFolder}/build"
    },
    "tasks": [
        {
            "label": "cmake",
            "command": "cmake",
            "args": [
                "-DDEBUG=ON",
                ".."
            ]
        },
        {
            "label": "make",
            "command": "make"
        },
        {
            "label": "CMake Build",
            "dependsOn": [
                "cmake",
                "make"
            ]
        }
    ],
    "version": "2.0.0"
}
  • 如何测试
    • 首先每次需要本地编译文件 ./build.sh
    • 然后打开observe ./bin/observer -s miniob.sock -f ../etc/observer.ini &
    • 打开obclient ./bin/obclient -s miniob.sock
    • 然后在client中输入sql测试即可
  • 如何提测
    • 本地调试测试完成后将代码push到远程仓库
    • 在miniob提测页面提交github仓库地址即可

 

 

posted @ 2022-12-28 16:42  lyjps  阅读(606)  评论(1)    收藏  举报