使用腾讯云 CodeBuddy 自动部署若依项目(RuoYi-Vue)完整指南
📝 前言
最近在做一个CRM项目,基于开源的若依框架(RuoYi-Vue)进行二次开发。项目开发完成后,需要部署到腾讯云服务器上。正好腾讯云的CodeBuddy(现在叫腾讯云代码助手)支持自动化部署,体验下来真的很方便,特此记录一下完整流程。
关键词: 腾讯云 | CodeBuddy | 若依框架 | Docker部署 | 轻量应用服务器 | 自动化部署
一、准备工作
1.1 项目代码托管
首先,确保你的项目代码已经托管在Git仓库中。我使用的是Gitee(码云),项目地址:
git@gitee.com:shuqingyu/crm.git💡 提示: CodeBuddy支持GitHub、Gitee、GitLab等主流Git仓库,选择自己习惯的即可。
1.2 腾讯云资源准备
-
已注册并登录腾讯云控制台
-
已购买轻量应用服务器(Lighthouse)
我的服务器配置:
-
地域: 上海
-
配置: 2核2GB内存 + 5M带宽
-
系统: Ubuntu

二、CodeBuddy 首次使用配置
2.1 安装CodeBuddy插件
在腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 安装IDE
2.2 登录授权
-
点击IDE侧边栏的CodeBuddy图标
-
选择登录腾讯云账号
-
在弹出的网页中完成授权登录

2.3 导入项目
在CodeBuddy对话框中说:
我直接git导入gitee,地址:git@gitee.com:shuqingyu/crm.git
CodeBuddy会自动处理:
-
克隆代码到本地
-
识别项目类型(Java + Vue)
-
分析项目结构
三、选择部署目标
CodeBuddy提供了多种部署方式:
| 部署产品 | 适用场景 |
|---|---|
| Tencent Lighthouse | 轻量应用服务器,适合中小型项目 |
| Cloud Studio | 云端开发环境 |
| EdgeOne Pages | 静态网站托管 |
| CloudBase | 云开发,适合小程序/Web |
💡 我的选择: Tencent Lighthouse(轻量应用服务器)
在对话框中选择:
text
请帮我在lighthouse上部署这个项目
CodeBuddy会:
-
查询你的轻量服务器资源列表
-
要求选择目标地域
-
确定目标服务器实例


四、自动部署流程
CodeBuddy的自动化部署包含以下步骤:
4.1 环境检查
自动检查服务器环境:
-
✅ Docker 及 Docker Compose
-
✅ JDK(用于Java后端)
-
✅ Node.js(用于Vue前端)
如果缺少依赖,CodeBuddy会自动安装。
4.2 生成部署配置
CodeBuddy会根据项目结构自动生成:
📄 docker-compose.yml
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: ruoyi-mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: ry-vue
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
- ./sql/ry_20260330.sql:/docker-entrypoint-initdb.d/01-init.sql
- ./sql/quartz.sql:/docker-entrypoint-initdb.d/02-quartz.sql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
restart: always
redis:
image: redis:7-alpine
container_name: ruoyi-redis
ports:
- "6379:6379"
restart: always
app:
build: .
container_name: ruoyi-app
ports:
- "80:80"
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_started
environment:
- SPRING_DATASOURCE_DRUID_MASTER_URL=jdbc:mysql://mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- SPRING_DATASOURCE_DRUID_MASTER_USERNAME=root
- SPRING_DATASOURCE_DRUID_MASTER_PASSWORD=123456
- SPRING_DATA_REDIS_HOST=redis
- SPRING_DATA_REDIS_PORT=6379
restart: always
volumes:
mysql-data:
📄 Dockerfile(多阶段构建)
# ============ Stage 1: 构建后端 ============
FROM maven:3.9-eclipse-temurin-17 AS backend-builder
WORKDIR /build
COPY pom.xml .
COPY ruoyi-common/pom.xml ruoyi-common/
# ... 复制各模块pom
RUN mvn dependency:go-offline -B || true
COPY . .
RUN mvn clean package -DskipTests -pl ruoyi-admin -am -B
# ============ Stage 2: 构建前端 ============
FROM node:22-alpine AS frontend-builder
WORKDIR /build
COPY ruoyi-ui/package.json ./
RUN npm install
COPY ruoyi-ui/ ./
RUN npm run build:prod
# ============ Stage 3: 运行环境 ============
FROM eclipse-temurin:17-jre-alpine
RUN apk add --no-cache nginx
COPY --from=backend-builder /build/ruoyi-admin/target/ruoyi-admin.jar /app/
COPY --from=frontend-builder /build/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/http.d/default.conf
EXPOSE 80
CMD ["sh", "-c", "nginx && java -jar /app/ruoyi-admin.jar"]
📄 nginx.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
}
}
4.3 上传文件到服务器
CodeBuddy会自动:
-
打包项目文件
-
通过SSH上传到服务器
-
解压到指定目录(如:
/root/RuoYi-Vue-springboot3_xxx/)

4.4 配置防火墙规则
自动开放必要端口:
-
80- HTTP服务 -
3306- MySQL(可选,建议仅内网访问) -
6379- Redis(可选)
4.5 解决镜像下载问题
部署过程中遇到问题:
⚠️ 镜像下载超时(国内服务器访问 Docker Hub 较慢)
解决方案: 配置国内镜像加速器
# 编辑Docker配置
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
"https://dockerhub.timeweb.cloud/"
]
}
EOF
# 重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
五、部署结果验证
5.1 容器状态
bash
docker compose ps
显示结果:
| 容器名称 | 状态 | 端口 |
|---|---|---|
| ruoyi-app | Up | 80→8080 |
| ruoyi-mysql | Up (healthy) | 3306 |
| ruoyi-redis | Up | 6379 |
5.2 访问测试
-
前端页面:
http://服务器IP:80 -
后端API:
http://服务器IP:80/prod-api/ -
默认账号: admin / admin123
5.3 部署架构图
┌─────────────────────────────────────────────────────┐
│ 腾讯云轻量服务器 │
│ ┌─────────────────────────────────────────────┐ │
│ │ Docker Compose │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │ │
│ │ │ Nginx │ │ Java │ │ MySQL │ │ │
│ │ │ :80 │→ │ :8080 │ │ :3306 │ │ │
│ │ └─────────┘ └─────────┘ └─────────────┘ │ │
│ │ ↓ │ │
│ │ ┌─────────────┐ │ │
│ │ │ Redis │ │ │
│ │ │ :6379 │ │ │
│ │ └─────────────┘ │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ ■ 前端: Vue.js (dist静态文件) │
│ ■ 后端: Spring Boot + 多阶段构建 │
│ ■ 数据库: MySQL 8.0 + 自动初始化SQL │
└─────────────────────────────────────────────────────┘
六、部署成功信息
最终CodeBuddy返回的部署结果:
| 项目 | 说明 |
|---|---|
| 访问地址 | http://xxx.xx.xxx.xxx |
| 服务器 | 腾讯云轻量服务器(上海) |
| 前端 | Nginx 80端口 → Vue静态文件 |
| 后端 | Spring Boot 8080端口 |
| 数据库 | MySQL 8.0(已初始化ry_20260330数据) |
| 缓存 | Redis 7 |
七、常用运维命令
7.1 Docker Compose 管理
# 查看所有容器状态
docker compose ps
# 查看指定服务日志
docker compose logs -f app
docker compose logs -f mysql
docker compose logs -f redis
# 重启指定服务
docker compose restart app
# 停止所有服务
docker compose down
# 启动所有服务
docker compose up -d
# 停止并删除数据卷(谨慎使用)
docker compose down -v
7.2 更新部署流程
当你推送新代码到Git仓库后:
# 1. 进入项目目录
cd /root/RuoYi-Vue-springboot3_xxx/
# 2. 拉取最新代码
git pull
# 3. 重新构建并部署
docker compose up -d --build
# 4. 查看新版本日志
docker compose logs -f app
7.3 数据库操作
# 进入MySQL容器
docker exec -it ruoyi-mysql mysql -uroot -p123456
# 备份数据库
docker exec ruoyi-mysql mysqldump -uroot -p123456 ry-vue > backup.sql
# 导入SQL文件
docker exec -i ruoyi-mysql mysql -uroot -p123456 ry-vue < new_data.sql
八、踩坑与解决
8.1 镜像拉取超时
问题: 国内服务器拉取Docker Hub镜像超时
解决: 配置腾讯云镜像加速器
8.2 数据库连接失败
问题: app容器启动时找不到数据库
解决: 使用depends_on + healthcheck确保MySQL先完全启动
8.3 前端API请求404
问题: 前端请求/prod-api/接口返回404
解决: 检查nginx.conf中的proxy_pass配置是否正确
九、总结
9.1 CodeBuddy自动化部署优势
| 优势 | 说明 |
|---|---|
| ✅ 零配置 | 自动识别项目类型,生成Docker配置 |
| ✅ 全流程自动化 | 从代码拉取到部署完成一键搞定 |
| ✅ 多环境支持 | Lighthouse、CloudBase、EdgeOne等 |
| ✅ 可视化操作 | 对话框交互,降低部署门槛 |
9.2 整体体验
从开始到部署成功,整个过程不到20分钟:
-
无需手动编写Dockerfile
-
无需反复ssh登录服务器
-
无需记忆docker命令
💡 建议: 对于中小型项目的快速部署,CodeBuddy绝对值得一试!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)