我们前后端分离以后,开发环境是部署在服务器上面,我们想要开发接口能够验证效果,需要提交代码构建后才能查看(等待时间长),使用postman简单的进行调试效果不够直观且问题不显现。
期望预期
实时查看效果,实时调整代码,实时联动调试
解决方法
1. 接口调试
2. 远程调试
容器构建部署
- 原先端口(-p 18080:8080)是前端web使用
docker run --restart=always -d -p 18080:8080 -e SPRING_PROFILES_ACTIVE=dev -v /data/sys-api/config:/app/config --name sys-api 【PORT】:【PORT】/docker/sys-api:latest
- 补充端口(-p 18082:8081 )是远程debug使用
docker run --restart=always -d -p 18082:8081 -p 18080:8080 -e SPRING_PROFILES_ACTIVE=dev -v /data/sys-api/config:/app/config --name sys-api 【PORT】:【PORT】/docker/sys-api:latest
优势:在工程代码保持同步一致,可以远程调试排查线上问题
不足:不能实时调整处理
3. 本地部署
把前端容器里面最新的web文件拷贝到本地nginx上面即可,在自定路径下面
- 创建文件
mkdir -p /opt/pro_web_sys
cd /opt/pro_web_sys
touch 1startCopyWeb_sys.sh
- 1startCopyWeb_sys内容
#/bash/sh
docker cp sys-web:/usr/local/web .
mv ops-dc_* temp_sys/
sleep 1
#my_time = date +"%Y%m%d"
ls_date=`date +%Y%m%d%H%M%S`
mv web/ ops-sys
zip -r ops-sys_${ls_date}.zip ops-sys/
mv ops-sys/ ops-sys_${ls_date}
- 配置nginx
server {
# 【*】部署端口 - 注意不要和别的端口冲突
listen 19041;
server_name localhost;
client_max_body_size 1024m;
# 你拷贝的文件
root D:/develop/nginx/project/ops-sys;
# 【*】接口转发 - 约定为部署端口号前面加‘1’
location ~ /(api|usr)/ {
proxy_pass http://localhost:8082;
}
location / {
rewrite ^/admin /pages/admin.html;
rewrite ^[^\.]+$ /pages/index.html;
try_files $uri $uri/ /index.html;
}
}
详见附加nginx配置