在Windows系统电脑上搭建蓝鲸智云配置平台开发环境

1. 简介

公司的新产品需要实现配置平台功能,经过调研之后决定基于开源项目蓝鲸智云配置平台进行二次开发。

团队内有多名研发人员参与此项目的开发,因此需要搭建基础的开发环境,最好能方便共享给大家使用。

开源项目为开发者提供了可以直接运行的容器镜像,可基于此镜像搭建开发环境后共享给其他研发人员。

开发环境基于Windows系统搭建,请自行安装 Docker Desktop 软件、Visual Studio Code 软件。

注意:此文档为环境搭建完成后编写,可能存在谬误或者忽略了部分细节,仅供参考。

2. 制作开发环境镜像

本章节简要介绍开发环境镜像的制作过程。

2.1. 拉取基础镜像

参考开源工程 极速体验容器化部署蓝鲸CMDB 文档搭建了基础环境:

docker pull ccr.ccs.tencentyun.com/bk.io/cmdb-standalone:latest
docker run --name cmdb -d -p 8081:8090 ccr.ccs.tencentyun.com/bk.io/cmdb-standalone:latest

使用浏览器即可访问 蓝鲸配置平台 。

2.2. 停止服务

为了运行我们自己编译的软件版本,需要先停止现有服务,在容器终端中执行:

bash
cd /data
./down.sh

2.3. 安装基础包

后面需要安装的工具需要依赖很多基础包,因此需要先安装这些基础包,在容器终端中执行:

bash
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc gcc-c++ make perl-ExtUtils-MakeMaker

2.4. 安装版本管理工具

下载 Git 源码包到本地:Git源码下载地址 。

将本地Git源码拷贝到容器中,在 Windows 终端中执行:

docker cp E:\tools\git-2.39.0.tar.gz cmdb:/root/

解压后安装即可,在容器终端中执行:

bash
cd /root
tar -xzf git-2.39.0.tar.gz
cd git-2.39.0
./configure
make && make install
rm -rf ./git*

2.5. 安装后端编译工具

下载 Golang 包:Golang下载地址 。

将Golang包拷贝到容器中,在 Windows 终端中执行:

docker cp E:\tools\go1.21.1.linux-amd64.tar.gz cmdb:/root/

解压,在容器终端中执行:

bash
tar -C /usr/local -xzf /root/go1.21.1.linux-amd64.tar.gz

在 ~/.bashrc 文件末尾添加 export PATH=$PATH:/usr/local/go/bin 命令指定 golang 路径,后在容器终端中执行:

bash
source ~/.bashrc
go env -w GO111MODULE="on"
go env -w GOPROXY=https://goproxy.cn,direct
git config --global --unset credential.helper
rm -f go1.21.1.linux-amd64.tar.gz

使用 Visual Studio Code 连接容器后安装 Golang 需要使用的工具(安装失败通常是由于无法访问国外网站导致的,连上 VPN 后重试即可)。

2.6. 安装前端编译工具

下载 nvm :nvm下载地址 。

将nvm包拷贝到容器中,在 Windows 终端中执行:

docker cp E:\tools\nvm-0.39.5.tar.gz cmdb:/root/

解压后安装,在容器终端中执行:

bash
cd /root
tar -zxf nvm-0.39.5.tar.gz
cd nvm-0.39.5
./install.sh
source ~/.bashrc
rm -rf nvm-0.39.5*
nvm install 14.21.3
node -v
npm -v

2.7. 安装远程调试依赖包

在 Windows 上打开 Visual Studio Code,安装 Docker 插件,右键选择之前启动好的容器,选择“Attach Visual Studio Code” 安装远程调试依赖包。

2.8. 精简镜像

删除原有的部署目录,在容器终端中执行:

rm -rf /data/cmdb

找到占用空间较大的 cache 和 tmp 目录并删除(可使用du -sh命令查看文件夹大小)。

导出镜像文件系统、删除现有容器,在 Windows 终端中执行:

docker export -o cmdb.tar cmdb
docker rm cmdb

镜像包已制作完成,可以分享给其他研发人员,下一章将介绍如何基于此镜像包搭建开发环境。

3. 用现有镜像搭建

在上一章节中在镜像安装了 Git、Golang、nvm、Node.js 等开发必备工具,可直接使用。

3.1. 导入镜像

导入已制作好的镜像包:

docker import cmdb.tar cmdb

3.2. 运行容器

镜像导入完成之后,即可运行容器,参考命令:

docker run --name cmdb -itd -p 8081:8090 cmdb /bin/bash

注:容器名可自定义,端口映射是为了在 Windows 宿主机上直接访问配置平台的前端页面。

3.3. 编译源码并运行

请自行生成 SSH key 并添加到 github 账户中。

容器运行之后,在容器终端执行下列命令:

bash
cd /root/
git clone [email protected]:TencentBlueKing/bk-cmdb.git
mv bk-cmdb cmdb
cd cmdb/src/
make
make package
tar -C /data -xzf /root/cmdb/src/bin/pub/cmdb.tar.gz
cd /data
./run.sh

上述命令的作用如下:

  1. 使用 bash 命令解释器。
  2. 进入用户目录。
  3. 克隆配置平台源码。
  4. 进入源码目录。
  5. 构建前后端。
  6. 打包。
  7. 将部署包解压到 /data 目录下。
  8. 进入 /data 目录。
  9. 启动配置平台。

3.4. 访问前端页面

直接使用 Windows 主机浏览器访问 蓝鲸配置平台 即可。

注:此处使用的端口号需要和启动容器时映射的端口号相同。

3.5. 打开源码工程

在 Visual Studio Code 中安装 Docker 插件。

在左侧导航栏中选择进入 Docker 插件页面,右键选择之前启动好的容器,选择“Attach Visual Studio Code”。

在新打开的窗口中,选择菜单栏“File -> Open Folder”,输入“/root/cmdb”打开容器中的源码目录。

3.6. 调试代码

在 Visual Studio Code 左侧导航栏中选择进入 Run and Debug 页面,点击创建 launch.json 文件,参考配置:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Process",
            "type": "go",
            "request": "attach",
            "mode": "local",
            "processId": 15722
        }
    ]
}

即可 Attach 到现有进程上进行调试(需要将"processId"的值修改为对应的PID),在代码中打上断点,访问前端页面触发断点后即可进行调试。

你可能感兴趣的:(二次开发,windows)