feat(devcontainer): add enhanced Maven development environment with Java 21, Bun, and SSH support
- Add Docker Compose configuration for Maven + Java 21 development container - Include SSH server support for remote development (Zed editor compatible) - Install Bun package manager and opencode-ai for enhanced development workflow - Provide Makefile with commands for build, up, down, restart, logs, shell, ssh, and clean - Add .env.example template for configurable ports and paths - Include .gitignore for Java/Maven artifacts and IDE files - Configure USTC mirrors for faster package installation - Support persistent volume mounting for root user configuration (.ssh, .m2 cache)
This commit is contained in:
62
java-maven/vibe-enhance-version/Makefile
Normal file
62
java-maven/vibe-enhance-version/Makefile
Normal file
@@ -0,0 +1,62 @@
|
||||
# 引用 .env 文件中的变量
|
||||
include .env
|
||||
export $(shell sed 's/=.*//' .env)
|
||||
|
||||
.PHONY: help build up down restart logs shell clean ssh
|
||||
|
||||
# 默认目标:显示帮助
|
||||
help:
|
||||
@echo "🛠️ Maven + Java + Bun 开发环境管理工具"
|
||||
@echo "=================================================="
|
||||
@echo "make build - 构建镜像"
|
||||
@echo "make up - 启动容器 (后台模式)"
|
||||
@echo "make down - 停止并移除容器"
|
||||
@echo "make restart - 重启容器"
|
||||
@echo "make logs - 查看容器日志"
|
||||
@echo "make shell - 进入容器终端 (Bash)"
|
||||
@echo "make ssh - 使用 SSH 连接容器 (测试连接)"
|
||||
@echo "make clean - ⚠️ 深度清理 (移除容器、镜像和挂载的数据目录)"
|
||||
@echo "=================================================="
|
||||
@echo "当前配置:"
|
||||
@echo " SSH端口: $(SSH_PORT)"
|
||||
@echo " 代码路径: $(PROJECT_DIR)"
|
||||
|
||||
# 构建镜像
|
||||
build:
|
||||
@echo "📦 正在构建镜像 $(IMAGE_NAME):$(IMAGE_TAG)..."
|
||||
@docker compose build
|
||||
|
||||
# 启动容器
|
||||
up:
|
||||
@echo "🚀 正在启动开发环境..."
|
||||
@docker compose up -d
|
||||
@echo "✅ 服务已启动!"
|
||||
@echo " - SSH 连接: ssh -p $(SSH_PORT) root@localhost (密码: root)"
|
||||
@echo " - Zed 连接: ssh://root@localhost:$(SSH_PORT)"
|
||||
|
||||
# 停止容器
|
||||
down:
|
||||
@echo "🛑 正在停止容器..."
|
||||
@docker compose down
|
||||
|
||||
# 重启
|
||||
restart: down up
|
||||
|
||||
# 查看日志
|
||||
logs:
|
||||
@docker compose logs -f
|
||||
|
||||
# 进入 Shell (通过 Docker exec)
|
||||
shell:
|
||||
@docker exec -it $(CONTAINER_NAME) bash
|
||||
|
||||
# SSH 连接测试
|
||||
ssh:
|
||||
@ssh -p $(SSH_PORT) -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@localhost
|
||||
|
||||
# 深度清理 (危险操作)
|
||||
clean: down
|
||||
@echo "⚠️ 正在清理..."
|
||||
@read -p "确定要删除持久化数据目录 $(DATA_DIR) 吗? [y/N] " ans && [ $${ans:-N} = y ] || (echo "已取消"; exit 1)
|
||||
@rm -rf $(DATA_DIR)
|
||||
@echo "🧹 清理完成"
|
||||
Reference in New Issue
Block a user