logo
0
0
Login
feat(dev-env): 添加SDKMAN!和Java支持到开发环境

自定义开发环境

一个功能完整的 Docker 开发环境,预装了多个 JetBrains IDE 和常用开发工具。

🚀 特性

  • 多语言支持: Go、Node.js、Python、Java、Web 开发
  • IDE 集成: 预装 GoLand、IntelliJ IDEA、PyCharm、WebStorm
  • 版本管理: g (Go 版本管理器)、nvm (Node.js 版本管理器)、SDKMAN! (Java 版本管理器)
  • 基于 cnbcool/default-dev-env: 继承了基础开发环境的所有功能

📦 预装软件

JetBrains IDE

  • GoLand ${KELOVE_GOLAND_VSERSION} - Go 语言开发 IDE
  • IntelliJ IDEA ${KELOVE_IDEA_VSERSION} - Java 集成开发环境
  • PyCharm ${KELOVE_PYCHARM_VSERSION} - Python 开发 IDE
  • WebStorm ${KELOVE_WEBSTORM_VSERSION} - JavaScript/TypeScript 开发 IDE

开发工具

  • Go ${KELOVE_GO_VSERSION} - Go 编程语言
  • Node.js ${KELOVE_NODE_VSERSION} - JavaScript 运行时
  • Python ${KELOVE_PYTHON_VSERSION} - Python 编程语言
  • Java ${KELOVE_JAVA_VSERSION} - Java 编程语言
  • uv - Python 包和项目管理工具
  • nvm ${KELOVE_NVM_VSERSION} - Node.js 版本管理器
  • g - Go 版本管理器
  • SDKMAN! ${KELOVE_SDKMAN_VSERSION} - Java 版本管理器

🛠️ 使用方法

可以通过在 .cnb.yml 编写远程开发事件流水线,并指定pipeline.docker.image 指定开发环境镜像。

# .cnb.yml $: vscode: - docker: # 可按需替换为其他镜像 image: docker.cnb.cool/xqitw.dev/dev-env:latest services: - vscode - docker # 开发环境启动后会执行的任务 stages: - name: ls script: ls -al

自定义版本

可以通过构建参数自定义各个软件的版本:

docker build \ --build-arg KELOVE_GOLAND_VSERSION="2025.2.5" \ --build-arg KELOVE_IDEA_VSERSION="2025.2.5" \ --build-arg KELOVE_PYCHARM_VSERSION="2025.2.5" \ --build-arg KELOVE_WEBSTORM_VSERSION="2025.2.5" \ --build-arg KELOVE_PYTHON_VSERSION="3.14.0" \ --build-arg KELOVE_GO_VSERSION="1.25.4" \ --build-arg KELOVE_NODE_VSERSION="v24.11.1" \ --build-arg KELOVE_NVM_VSERSION="v0.40.3" \ --build-arg KELOVE_SDKMAN_VSERSION="7.5.0" \ --build-arg KELOVE_JAVA_VSERSION="21.0.6-tem" \ -t custom-dev-env .

📁 目录结构

  • /ide_cnb/ - JetBrains IDE 安装目录
  • ~/.g/ - g 版本管理器配置
  • ~/.nvm/ - nvm 版本管理器配置
  • ~/.sdkman/ - SDKMAN! 版本管理器配置

🔧 环境变量

所有 IDE 都安装在 /ide_cnb 目录下,便于自动识别环境中支持的 IDE。

📚 版本管理工具使用

Python 工具 (uv)

# 创建新项目 uv init my-project cd my-project # 安装依赖 uv add requests numpy pandas # 安装开发依赖 uv add --dev pytest black flake8 # 运行脚本 uv run python script.py # 激活虚拟环境 source .venv/bin/activate # 查看已安装的包 uv pip list # 更新包 uv uv pip install --upgrade package-name # 运行测试 uv run pytest

Java 版本管理 (SDKMAN!)

# 查看可用的 Java 版本 sdk list java # 安装新版本 sdk install java 11.0.25-tem # 切换 Java 版本 sdk use java 17.0.13-tem # 查看当前版本 sdk current java # 设置默认版本 sdk default java 21.0.6-tem

Go 版本管理 (g)

# 查看可用的 Go 版本 g ls-remote # 安装新版本 g install 1.22.0 # 切换 Go 版本 g use 1.22.0 # 查看当前版本 g ls

Node.js 版本管理 (nvm)

# 查看可用的 Node.js 版本 nvm ls-remote # 安装新版本 nvm install v20.0.0 # 切换 Node.js 版本 nvm use v20.0.0 # 查看当前版本 nvm current

📝 注意事项

  • 首次构建需要下载大量文件,请耐心等待
  • JetBrains IDE 需要有效的许可证才能使用
  • 建议配合 Docker Compose 使用以获得更好的开发体验

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个开发环境。

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。