VMware Octant 开发环境搭建与开发指南
octant 项目地址: https://gitcode.com/gh_mirrors/oct/octant
项目概述
VMware Octant 是一个开源的Kubernetes集群可视化工具,它为开发人员提供了一个直观的Web界面来理解和调试Kubernetes工作负载。本文将详细介绍如何搭建Octant的开发环境并进行项目开发。
开发环境要求
基础工具链
-
Go语言环境:需要1.15或更高版本
- Go是Octant后端的主要开发语言
- 确保GOPATH和GOROOT环境变量正确配置
-
Node.js环境:
- 需要10.15.0或更高版本
- 前端基于Angular框架开发
-
npm包管理器:
- 需要6.4.1或更高版本
- 用于管理前端依赖
辅助开发工具
-
mockgen:
- Go语言的mock生成工具
- 用于生成测试所需的mock文件
-
protoc:
- Protocol Buffers编译器
- 用于处理gRPC相关代码生成
快速开始
1. 获取源代码
git clone <octant仓库地址>
cd octant
2. 安装依赖
go run build.go go-install # 安装Go依赖
3. 构建项目
# 可选:禁用Angular CLI分析
export NG_CLI_ANALYTICS=false
# 快速构建
go run build.go ci-quick
4. 运行Octant
./build/octant
测试指南
Octant项目对代码质量有严格要求,除极简单的修改外,所有变更都应包含相应的测试。
运行测试
# 运行代码静态检查
go run build.go vet
# 运行测试套件
go run build.go test
开发流程
前端开发模式
在修改前端代码时,可以使用开发服务器实现热重载:
go run build.go serve
此命令会启动两个进程:
- Angular开发服务器(端口4200)
- 监听文件变化并自动重建
- Octant后端服务器(端口7777)
- 配置了反向代理到前端开发服务器
- 禁用了自动打开浏览器行为
提交前的检查
在提交代码前,建议运行完整构建流程:
go run build.go ci
此命令将:
- 运行所有lint工具
- 执行完整的测试套件
- 生成可用于最终手动测试的发布二进制文件
前端组件开发
Octant集成了Storybook工具来辅助前端组件开发。
启动Storybook
cd web
npm run storybook
Storybook提供了:
- 独立的组件开发环境
- 组件交互式文档
- 可视化测试能力
开发建议
- 前后端分离开发:利用
serve
命令可以分别调试前后端 - 组件驱动开发:使用Storybook可以独立开发UI组件
- 测试驱动:先编写测试用例再实现功能
- 代码规范:遵循项目已有的代码风格和约定
通过本文介绍的方法,开发者可以高效地进行Octant项目的开发和调试工作。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考