JeecgBoot 2.4.5 快速单体升级微服务官方也有说明,我这边直接上代码主要修改哪些地方。
需要用到的工具有docker跟docker-compose。
第一步:修改jeecg-boot/pom.xm
<!-- 开发 -->
<profile>
<id>dev</id>
<activation>
<!--默认激活配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--当前环境-->
<profile.name>dev</profile.name>
<!--配置文件前缀-->
<prefix.name>jeecg</prefix.name>
<!--Nacos配置中心地址-->
<config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<config.namespace></config.namespace>
<!--Nacos配置分组名称-->
<config.group>DEFAULT_GROUP</config.group>
<!--Nacos服务发现地址-->
<discovery.server-addr>jeecg-boot-nacos:8848</discovery.server-addr>
</properties>
</profile>
增加一条hosts记录,ip是指向redis,mysql,nacos,xxljob,rabbitmq这些基础服务的服务器,如果开发的主机性能够强就直接配置为本机ip就可以了
127.0.0.1 jeecg-boot-redis jeecg-boot-mysql jeecg-boot-nacos jeecg-boot-gateway jeecg-boot-system jeecg-boot-xxljob jeecg-boot-rabbitmq
第二步:修改jeecg-boot/jeecg-boot-module-system/pom.xml
# 可选择关闭单体启动
# jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java
# 注释 //@SpringBootApplication
第三步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-gateway/src/main/resources/application.yml
第四步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-nacos/src/main/resources/application.yml
db:
num: 1
password:
'0': ${MYSQL-PWD:nacos}
url:
'0': jdbc:mysql://${MYSQL-HOST:mysql-service}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
user:
'0': ${MYSQL-USER:nacos}
第五步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/resources/application.yml
server:
port: 9080
servlet:
context-path: /xxl-job-admin
#数据源配置
spring:
datasource:
url: jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
第六步: 修改jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/JeecgDemoCloudApplication.java
第七步:修改jeecg-boot/jeecg-boot-module-demo/pom.xml
这个时候可以mvn clean package了
开始用docker来启动我们的基础服务了
docker-compose路径为:jeecg-boot/jeecg-cloud-module/docker-compose.yml
对原来的docker-compose.yml做了些调整
version: '2'
services:
jeecg-boot-mysql:
build:
context: ../db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
restart: always
container_name: jeecg-boot-mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=caching_sha2_password
ports:
- 3306:3306
jeecg-boot-redis:
image: redis:5.0
ports:
- 6379:6379
restart: always
container_name: jeecg-boot-redis
hostname: jeecg-boot-redis
jeecg-boot-nacos:
restart: on-failure
build:
context: ./jeecg-cloud-nacos
ports:
- 8848:8848
depends_on:
- jeecg-boot-mysql
container_name: jeecg-boot-nacos
environment:
- MYSQL-HOST=jeecg-boot-mysql
- MYSQL-PWD=root
- MYSQL-USER=root
hostname: jeecg-boot-nacos
jeecg-boot-gateway:
restart: on-failure
build:
context: ./jeecg-cloud-gateway
ports:
- 9999:9999
depends_on:
- jeecg-boot-nacos
- jeecg-boot-redis
container_name: jeecg-boot-gateway
hostname: jeecg-boot-gateway
jeecg-boot-system:
depends_on:
- jeecg-boot-mysql
- jeecg-boot-redis
- jeecg-boot-nacos
build:
context: ./jeecg-cloud-system-start
container_name: jeecg-boot-system
hostname: jeecg-boot-system
restart: on-failure
environment:
- TZ=Asia/Shanghai
jeecg-boot-xxljob:
build:
context: ./jeecg-cloud-xxljob
ports:
- 9080:9080
container_name: jeecg-boot-xxljob
hostname: jeecg-boot-xxljob
jeecg-boot-rabbitmq:
# image: rabbitmq:3-management
image: rabbitmq:3
ports:
- 5672:5672
# - 15672:15672
restart: always
container_name: jeecg-boot-rabbitmq
hostname: jeecg-boot-rabbitmq
使用 docker-compose up -d 命令就可以全部启动了
第八步:修改ant-design-vue-jeecg/.env.development 把前端启动起来
NODE_ENV=development
#VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
VUE_APP_API_BASE_URL=http://localhost:9999
#VUE_APP_API_BASE_URL=http://jeecg-boot-gateway:9999
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview