企业内网开发环境搭建方案
公司开发调试很不方便,我们需要在内网搭建一套开发环境。
开发困难集中在这两个方面:一是通用服务或者非开发中服务(比如网关与用户中心授权中心这样的)需要在调试的时候需要自己全部启动起来,浪费本地开发资源,另外一些公用中间件也需要本地启动,比如xxljob调度中心,mysql,mq这样的;二是对于外部系统回调没办法在本地调试。
针对这两个问题,我们需要在公司内网环境搭建一套开发环境,需要一台或多台主机作为公共服务器,通用服务放到上面。目前结构如下:
为了解决三方系统回调问题,我们需要部署一套内网穿透,流程是这样的sdkdev.tomatogames.com指向test机器,test机器nginx收到请求后分发到frp,通过frp内网穿透将请求转发到我们的内网服务器的frp,最后内网服务器frp再将请求转发到网关(或者内网nginx)。目前结构如下:
建议:这些所有的东西放docker,然后安装portainer(或者其他),方便管理服务。放容器也是个必然的过程。
参考:
外网nginx配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name www.yourdomain.com;
location ~/ {
# frp
proxy_pass http://10.10.2.201:8080;
}
}
}
外网frp:
[common]
bind_port = 7000
vhost_http_port = 8080
# 看板端口
dashboard_port = 7500
# 看板用户名密码
dashboard_user = admin
dashboard_pwd = admin
Dev内网机器frp:
[common]
server_addr = 10.10.2.201
server_port = 7000
# 管理面板
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin
#[ssh]
# type = tcp
# local_ip = 127.0.0.1
# local_port = 22
# remote_port = 6000
[web]
type = http
# 指向网关或者nginx
local_port = 8080
custom_domains = 10.10.2.201
# custom_domains = www.yourdomain.com
注:开发环境搞完需要重写一下Ribbon路由策略:大概逻辑是dev环境下同ip优先调用,这样再一个开发者同时需要调试两个服务的时候不会调用混乱,跑到其他机器上。另外内网开发环境搭建完成后可以多个开发者相互联调。