2
0

feat: build enhancement

This commit is contained in:
simonzhangsz
2024-12-13 21:25:54 +08:00
parent 0417a1477e
commit 244f4e7b81
6 changed files with 174 additions and 31 deletions

View File

@@ -18,32 +18,32 @@ Jars=" \
"
case "$1" in
start)
start)
cd ${DockerDir}
${DockerCompose} up -d
echo $! > ${PIDFile}
;;
stop)
;;
stop)
cd ${DockerDir}
${DockerCompose} down
rm ${PIDFile}
;;
restart)
$0 stop
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
;;
status)
cd ${DockerDir}
${DockerCompose} ps
;;
version)
;;
version)
cd ${WFCBinDir}
java printJarVer ${Jars}
;;
*)
;;
*)
echo "WANFi Controller Service"
echo "Usage: $0 start|stop|restart|status|version"
exit 1
;;
;;
esac

View File

@@ -5,19 +5,103 @@ DockerWorkDir=${WFCWorkDir}/docker
SrcServiceDir=${WFCWorkDir}/systemd/system
DstServiceDir=/etc/systemd/system
# prepare directory
mkdir -p ${DockerWorkDir}/mysql/tmp
chown -R root:root ${DockerWorkDir}/*
chown -R mysql:mysql ${DockerWorkDir}/mysql
chmod -R 777 ${DockerWorkDir}/mysql/tmp
base_dockers="wfc-nacos wfc-mysql wfc-redis"
jar_dockers="wfc-auth wfc-gateway wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment"
modules_dockers="wfc-modules-system wfc-modules-user wfc-modules-gen wfc-modules-job wfc-modules-file wfc-modules-payment"
fe_docker=wfc-nginx
case "$1" in
env)
# prepare directory
mkdir -p ${DockerWorkDir}/mysql/tmp
chown -R root:root ${DockerWorkDir}/*
chown -R root:root ${DockerWorkDir}/.*
chown -R mysql:mysql ${DockerWorkDir}/mysql
chmod -R 775 ${DockerWorkDir}/nacos
chmod -R 775 ${DockerWorkDir}/nginx
chmod -R 775 ${DockerWorkDir}/redis
chmod -R 775 ${DockerWorkDir}/mysql
chmod 1777 ${DockerWorkDir}/mysql/tmp
# setup system serivce
cp -rf ${SrcServiceDir}/wfccontrol.service ${DstServiceDir}/
systemctl daemon-reload
systemctl enable wfccontrol.service
;;
base)
# build docker compose
cd ${DockerWorkDir}
docker-compose stop ${base_dockers}
docker-compose build ${base_dockers}
;;
jar)
# build docker compose
cd ${DockerWorkDir}
docker-compose stop ${jar_dockers}
docker-compose build ${jar_dockers}
;;
modules)
# build docker compose
cd ${DockerWorkDir}
docker-compose stop ${modules_dockers}
docker-compose build ${modules_dockers}
;;
fe)
# build docker compose
cd ${DockerWorkDir}
docker-compose stop ${fe_docker}
docker-compose build ${fe_docker}
;;
all)
$0 env
$0 base
$0 jar
$0 fe
;;
rm)
case "$2" in
base)
cd ${DockerWorkDir}
docker-compose stop ${base_dockers}
for base_docker in ${base_dockers}; do
docker rm ${base_docker}
done
;;
jar)
cd ${DockerWorkDir}
docker-compose stop ${jar_dockers}
for jar_docker in ${jar_dockers}; do
docker rm ${jar_docker}
docker rmi docker_${jar_docker}
done
;;
modules)
cd ${DockerWorkDir}
docker-compose stop ${modules_dockers}
for modules_docker in ${modules_dockers}; do
docker rm ${modules_docker}
docker rmi docker_${modules_docker}
done
;;
fe)
cd ${DockerWorkDir}
docker-compose stop ${fe_docker}
docker rm ${fe_docker}
docker rmi nginx
;;
*)
echo "WANFi Controller Setup "
echo "Usage: $0 rm [base|jar|modules|fe]"
exit 1
;;
esac
;;
*)
echo "WANFi Controller Setup "
echo "Usage: $0 all|env|base|jar|modules|fe|rm [base|jar|modules|fe]"
exit 1
;;
esac
# setup system serivce
cp -rf ${SrcServiceDir}/wfccontrol.service ${DstServiceDir}/
systemctl daemon-reload
systemctl enable wfccontrol.service
# build docker compose
cd ${DockerWorkDir}
docker-compose down
docker-compose build

7
build/docker/.env Normal file
View File

@@ -0,0 +1,7 @@
MYSQL_ROOT_PASSWORD=123456
MYSQL_DATABASE=wfc_system_db
MYSQL_USER=mysql
MYSQL_PASSWORD=
NACOS_SERVER_ADDR=192.168.13.128:8848
NACOS_NAME_SPACE=wfc-prod
GATEWAY_ADDR=192.168.13.128:8080

View File

@@ -6,7 +6,8 @@ services:
context: ./nacos
environment:
- MODE=standalone
- NACOS_SERVER_ADDR=192.168.13.128
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
volumes:
- ./nacos/logs/:/home/nacos/logs
- ./nacos/conf/application.properties:/home/nacos/conf/application.properties
@@ -25,6 +26,7 @@ services:
ports:
- "3306:3306"
volumes:
- ./mysql/db:/docker-entrypoint-initdb.d # 挂载 SQL 文件
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
@@ -60,10 +62,15 @@ services:
dockerfile: dockerfile
ports:
- "8080:8080"
volumes:
- ./wfc/gateway/jar/wfc-gateway.jar:/home/wfc/wfc-gateway.jar
depends_on:
- wfc-redis
links:
- wfc-redis
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-auth:
container_name: wfc-auth
@@ -72,10 +79,15 @@ services:
dockerfile: dockerfile
ports:
- "9200:9200"
volumes:
- ./wfc/auth/jar/wfc-auth.jar:/home/wfc/wfc-auth.jar
depends_on:
- wfc-redis
links:
- wfc-redis
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-system:
container_name: wfc-modules-system
@@ -84,12 +96,17 @@ services:
dockerfile: dockerfile
ports:
- "9201:9201"
volumes:
- ./wfc/modules/system/jar/wfc-modules-system.jar:/home/wfc/wfc-modules-system.jar
depends_on:
- wfc-redis
- wfc-mysql
links:
- wfc-redis
- wfc-mysql
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-user:
container_name: wfc-modules-user
@@ -98,12 +115,17 @@ services:
dockerfile: dockerfile
ports:
- "9204:9204"
volumes:
- ./wfc/modules/user/jar/wfc-modules-user.jar:/home/wfc/wfc-modules-user.jar
depends_on:
- wfc-redis
- wfc-mysql
links:
- wfc-redis
- wfc-mysql
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-gen:
container_name: wfc-modules-gen
@@ -112,10 +134,15 @@ services:
dockerfile: dockerfile
ports:
- "9202:9202"
volumes:
- ./wfc/modules/gen/jar/wfc-modules-gen.jar:/home/wfc/wfc-modules-gen.jar
depends_on:
- wfc-mysql
links:
- wfc-mysql
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-job:
container_name: wfc-modules-job
@@ -124,10 +151,15 @@ services:
dockerfile: dockerfile
ports:
- "9203:9203"
volumes:
- ./wfc/modules/job/jar/wfc-modules-job.jar:/home/wfc/wfc-modules-job.jar
depends_on:
- wfc-mysql
links:
- wfc-mysql
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-file:
container_name: wfc-modules-file
@@ -137,7 +169,11 @@ services:
ports:
- "9300:9300"
volumes:
- ./wfc/upload:/home/wfc/upload
- ./wfc/modules/file/jar/wfc-modules-file.jar:/home/wfc/wfc-modules-file.jar
- ./wfc/upload:/home/wfc/upload
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-modules-payment:
container_name: wfc-modules-payment
@@ -146,10 +182,15 @@ services:
dockerfile: dockerfile
ports:
- "9306:9306"
volumes:
- ./wfc/modules/payment/jar/wfc-modules-payment.jar:/home/wfc/wfc-modules-payment.jar
depends_on:
- wfc-mysql
links:
- wfc-mysql
- wfc-mysql
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-visual-monitor:
container_name: wfc-visual-monitor
@@ -158,6 +199,11 @@ services:
dockerfile: dockerfile
ports:
- "9100:9100"
volumes:
- ./wfc/visual/monitor/jar/wfc-visual-monitor.jar:/home/wfc/wfc-visual-monitor.jar
environment:
- NACOS_SERVER_ADDR=${NACOS_SERVER_ADDR}
- NACOS_NAME_SPACE=${NACOS_NAME_SPACE}
#restart: always
wfc-nginx:
container_name: wfc-nginx
@@ -175,4 +221,6 @@ services:
- wfc-gateway
links:
- wfc-gateway
environment:
- GATEWAY_ADDR=${GATEWAY_ADDR}
#restart: always

View File

@@ -4,4 +4,8 @@ FROM mysql:5.7
MAINTAINER wfc
# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/
ENV MYSQL_ROOT_PASSWORD=123456
COPY ./db/*.sql /docker-entrypoint-initdb.d/
# COPY ./db/initdb.sh /docker-entrypoint-initdb.d/
# RUN chmod 755 /docker-entrypoint-initdb.d/initdb.sh
# ENTRYPOINT ["bash", "/docker-entrypoint-initdb.d/initdb.sh"]