From 6d99ae5223c1da80f811133753197235337cf33f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com>
Date: Mon, 20 Oct 2025 17:57:26 +0800
Subject: [PATCH] =?UTF-8?q?--=E5=88=9B=E5=BB=BA=E4=B8=BB=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=90=AF=E5=8A=A8=E9=A1=B9=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/banner.txt | 6 -
.../target/classes/bootstrap.yml | 56 --------
itc-pcitc-mdm/itc-pcitc-mdm-start/pom.xml | 42 +++++-
.../src/main/docker/Dockerfile | 39 ++++++
.../src/main/docker/docker-mdm.sh | 126 ++++++++++++++++++
.../src/main/resources/bootstrap-dev.yml} | 14 +-
.../src/main/resources/bootstrap-local.yml | 8 +-
.../src/main/resources/bootstrap-test.yml | 9 ++
.../src/main/resources/bootstrap.yml | 4 +-
.../target/classes/Dockerfile | 39 ++++++
.../target/classes/agent.config | 4 +
.../target/classes/bootstrap-dev.yml} | 0
.../target/classes/bootstrap-local.yml | 0
.../target/classes}/bootstrap-remote.yml | 0
.../target/classes/bootstrap-test.yml | 9 ++
.../target/classes}/bootstrap.yml | 4 +-
.../target/classes/docker-mdm.sh | 126 ++++++++++++++++++
.../target/classes/startApp.sh | 50 +++++++
18 files changed, 460 insertions(+), 76 deletions(-)
delete mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt
delete mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/Dockerfile
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/docker-mdm.sh
rename itc-pcitc-mdm/{itc-pcitc-mdm-service/target/classes/bootstrap-remote.yml => itc-pcitc-mdm-start/src/main/resources/bootstrap-dev.yml} (67%)
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-test.yml
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/Dockerfile
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/agent.config
rename itc-pcitc-mdm/{itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml => itc-pcitc-mdm-start/target/classes/bootstrap-dev.yml} (100%)
rename itc-pcitc-mdm/{itc-pcitc-mdm-service => itc-pcitc-mdm-start}/target/classes/bootstrap-local.yml (100%)
rename itc-pcitc-mdm/{itc-pcitc-mdm-service/src/main/resources => itc-pcitc-mdm-start/target/classes}/bootstrap-remote.yml (100%)
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-test.yml
rename itc-pcitc-mdm/{itc-pcitc-mdm-service/src/main/resources => itc-pcitc-mdm-start/target/classes}/bootstrap.yml (96%)
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/docker-mdm.sh
create mode 100644 itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/startApp.sh
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt
deleted file mode 100644
index f0052df..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt
+++ /dev/null
@@ -1,6 +0,0 @@
- ██████╗ ███████╗ ██████╗ ██╗████████╗ ██████╗
-██╔════╝ ██╔════╝██╔════╝ ██║╚══██╔══╝██╔════╝
-██║ ███╗█████╗ ██║ ███╗█████╗██║ ██║ ██║
-██║ ██║██╔══╝ ██║ ██║╚════╝██║ ██║ ██║
-╚██████╔╝███████╗╚██████╔╝ ██║ ██║ ╚██████╗
- ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml b/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml
deleted file mode 100644
index d2afbfe..0000000
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-server:
- port: 8099
-
-spring:
- application:
- name: demo-service
- main:
- allow-bean-definition-overriding: true
- profiles:
- active: dev
- cloud:
- nacos: #nacos监控
- config:
- server-addr: 10.0.252.1:8848 # nacos 配置中心地址
- namespace: ITC-MS
- group: DNE
- username: nacos
- password: Yudean@2025
- file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension}
- refresh-enabled: true
- extension-configs:
- - data-id: global.yml
- refresh: true
- group: DNE
-
- - data-id: discovery.yml
- refresh: true
- group: DNE
-
- - data-id: datasource.yml
- refresh: true
- group: DNE
-
- - data-id: seata.yml
- refresh: true
- group: DNE
-
- - data-id: redis.yml
- refresh: true
- group: DNE
-
- - data-id: magic-api.yml
- refresh: true
- group: DNE
-
- - data-id: sa-token.yml
- refresh: true
- group: DNE
-
- - data-id: camunda.yml
- refresh: true
- group: DNE
-
- - data-id: sentinel.yml
- refresh: true
- group: DNE
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/pom.xml b/itc-pcitc-mdm/itc-pcitc-mdm-start/pom.xml
index 48b7624..7fb1e13 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-start/pom.xml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/pom.xml
@@ -17,7 +17,7 @@
${java.version}
${java.version}
- pcitc/itc-pcitc-mdm
+ docker.ges.bjgastx.com/itc-pcitc-mdm
@@ -30,6 +30,22 @@
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.7.6
+
+
+
+ repackage
+
+
+
+ false
+
+
+
+
org.apache.maven.plugins
maven-surefire-plugin
@@ -45,6 +61,30 @@
${java.version}
+
+ com.spotify
+ docker-maven-plugin
+ 1.2.2
+
+ ${docker-registry}
+ 600000
+ ${docker-image-name}:${maven.build.timestamp}
+ java
+ ${dockerDirectory}
+ ${docker-image-name}:${maven.build.timestamp}
+ false
+
+ ${docker-jar-name}
+
+
+
+ /
+ ${project.build.directory}
+ ${docker-jar-name}
+
+
+
+
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/Dockerfile b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/Dockerfile
new file mode 100644
index 0000000..b7c3951
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/Dockerfile
@@ -0,0 +1,39 @@
+#FROM --platform=linux/arm64 docker.ges.bjgastx.com/openjdk-arm64:8-jre
+FROM docker.ges.bjgastx.com/jdk8u112:v1
+
+
+RUN mkdir -p /root/logs/java/ \
+ && mkdir -p /scm/logs/ \
+ && mkdir -p /opt/app/ \
+ && mkdir -p /uploadFile/ \
+ && mkdir -p /var/log/app \
+ && mkdir -p /opt/app/logs \
+ && mkdir -p /opt/agent/config
+
+ENV TZ "Asia/Shanghai"
+
+ADD ./skywalking-agent.jar /opt/agent/skywalking-agent.jar
+ADD ./agent.config /opt/agent/config/agent.config
+
+RUN echo "set fileencodings=utf-8,gbk,gb2312,gb18030,cp936,latin1 \n set fenc=utf-8 \n set tenc=utf-8 \n set enc=utf-8 \n" |tee ~/.vimrc
+
+
+ARG JAR_FILE
+ARG PRO_FILE
+ARG SOURCE_NAME
+
+ADD ./startApp.sh /opt/app/
+RUN chmod u+x /opt/app/*.sh
+ADD ./${SOURCE_NAME} /opt/app/app.jar
+RUN test -f /opt/app/app.jar || { echo "Error: JAR file not found at ${SOURCE_NAME}"; exit 1; }
+
+#应用名称
+ENV APP_NAME=itc-pcitc-mdm
+#skywalking-oap-server地址
+ENV SKYWALKING_SERVER=10.10.2.102:11800
+ENV ENV_APP_FILE_PATH=/opt/app/app.jar
+ENV ENV_APP_PRO_FILE=local
+
+EXPOSE 8096 5005
+
+ENTRYPOINT ["/opt/app/startApp.sh"]
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/docker-mdm.sh b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/docker-mdm.sh
new file mode 100644
index 0000000..aef3758
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/docker/docker-mdm.sh
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+# 定义变量
+CONTAINER_NAME="itc-pcitc-mdm"
+IMAGE_NAME="10.10.2.102/itc-pcitc-mdm"
+IMAGE_VERSION="2025-08-04-0940"
+IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
+PORT=8096 # 服务暴露端口
+CONTAINER_PORT=8096 # 服务暴露端口
+TZ="Asia/Shanghai" # 时区设置
+# 环境变量配置
+ENV_APP_PRO_FILE="local"
+file="$CONTAINER_NAME-version.txt"
+
+# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
+if [ ! -f "$file" ]; then
+ echo "文件 $file 不存在"
+ touch "$file" # 变量加引号,处理含空格的文件名
+ echo "$IMAGE_FULL" >> "$file"
+ echo "记录版本【$IMAGE_FULL】到 $file"
+else
+ # 检查参数数量(建议移到脚本开头统一检查)
+ if [ $# -eq 2 ]; then
+ IMAGE_FULL="$IMAGE_NAME:$2"
+ echo "$IMAGE_FULL" >> "$file"
+ echo "记录版本【$IMAGE_FULL】到 $file"
+ else
+ # 修正赋值语法:等号两侧无空格
+ last_version=$(tail -n 1 "$file")
+ IMAGE_FULL="$last_version"
+ # 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
+ fi
+fi
+
+# 显示帮助信息
+show_help() {
+ echo "使用方法: $0 [操作类型]"
+ echo "操作类型:"
+ echo " deploy - 部署并启动服务容器"
+ echo " remove - 停止并删除容器及数据/日志目录"
+ echo " logs - 查看容器日志"
+ echo " help - 显示帮助信息"
+}
+
+
+
+# 部署服务
+deploy_service() {
+ echo "部署镜像【$IMAGE_FULL】"
+ # 检查容器是否已存在,存在则停止并删除
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "停止并删除现有容器: $CONTAINER_NAME"
+ docker stop $CONTAINER_NAME >/dev/null
+ docker rm $CONTAINER_NAME >/dev/null
+ fi
+
+ # 启动服务容器
+ echo "启动服务容器..."
+ docker run -d --privileged --restart always \
+ --name $CONTAINER_NAME \
+ -p $PORT:$CONTAINER_PORT \
+ -e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
+ $IMAGE_FULL
+
+ # 检查启动状态
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
+ echo "服务启动成功!"
+ echo "容器名称: $CONTAINER_NAME"
+ echo "访问地址: http://localhost:$PORT"
+ echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
+ else
+ echo "服务启动失败,日志如下:"
+ docker logs $CONTAINER_NAME
+ exit 1
+ fi
+}
+
+# 删除服务
+remove_service() {
+ # 检查容器是否存在
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "停止容器: $CONTAINER_NAME"
+ docker stop $CONTAINER_NAME >/dev/null
+
+ echo "删除容器: $CONTAINER_NAME"
+ docker rm $CONTAINER_NAME >/dev/null
+ else
+ echo "容器 $CONTAINER_NAME 不存在"
+ fi
+}
+
+# 查看日志
+show_logs() {
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
+ docker logs -f --tail 200 $CONTAINER_NAME
+ else
+ echo "容器 $CONTAINER_NAME 不存在"
+ fi
+}
+
+# 主逻辑
+if [ $# -lt 1 ]; then
+ show_help
+ exit 1
+fi
+
+case "$1" in
+ deploy)
+ deploy_service
+ ;;
+ remove)
+ remove_service
+ ;;
+ logs)
+ show_logs
+ ;;
+ help)
+ show_help
+ ;;
+ *)
+ echo "无效的操作类型: $1"
+ show_help
+ exit 1
+ ;;
+esac
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-remote.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-dev.yml
similarity index 67%
rename from itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-remote.yml
rename to itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-dev.yml
index 10a6441..e3190eb 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-remote.yml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-dev.yml
@@ -2,11 +2,11 @@ spring:
cloud:
nacos: #nacos监控
config:
- server-addr: 47.94.165.164:8848 # nacos 配置中心地址
+ server-addr: 127.0.0.1:8848 # nacos 配置中心地址
namespace: ITC-MS
group: DNE
username: nacos
- password: Lng@123
+ password: nacos
extension-configs:
- data-id: global-dev.yml
refresh: true
@@ -42,4 +42,12 @@ spring:
- data-id: sentinel-dev.yml
refresh: true
- group: DNE
\ No newline at end of file
+ group: DNE
+
+xjrsoft:
+ generate:
+ apiJavaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-api
+ javaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service
+ webPath: F:\ges-scm\code\dev\geg-gas-web
+ appPath: D:\pm\yfxm-newgit\uniapp\xjrsoft-uni #前端app
+
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-local.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-local.yml
index f75a2a3..9f3ea8e 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-local.yml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-local.yml
@@ -2,7 +2,7 @@ spring:
cloud:
nacos: #nacos监控
config:
- server-addr: 127.0.0.1:8848 # nacos 配置中心地址
+ server-addr: 172.20.0.4:8848 # nacos 配置中心地址
namespace: ITC-MS
group: DNE
username: nacos
@@ -42,8 +42,4 @@ spring:
- data-id: sentinel-local.yml
refresh: true
- group: DNE
-
-datalog:
- db:
- url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit
\ No newline at end of file
+ group: DNE
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-test.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-test.yml
new file mode 100644
index 0000000..53409d8
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap-test.yml
@@ -0,0 +1,9 @@
+spring:
+ cloud:
+ nacos: #nacos监控
+ config:
+ server-addr: 10.4.126.114:8848 # nacos 配置中心地址
+ namespace: ITC-MS
+ group: DNE
+ username: nacos
+ password: Lng@123
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap.yml
index d2afbfe..b7c7902 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap.yml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/src/main/resources/bootstrap.yml
@@ -1,9 +1,9 @@
server:
- port: 8099
+ port: 8096
spring:
application:
- name: demo-service
+ name: pcitc-mdm-service
main:
allow-bean-definition-overriding: true
profiles:
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/Dockerfile b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/Dockerfile
new file mode 100644
index 0000000..b7c3951
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/Dockerfile
@@ -0,0 +1,39 @@
+#FROM --platform=linux/arm64 docker.ges.bjgastx.com/openjdk-arm64:8-jre
+FROM docker.ges.bjgastx.com/jdk8u112:v1
+
+
+RUN mkdir -p /root/logs/java/ \
+ && mkdir -p /scm/logs/ \
+ && mkdir -p /opt/app/ \
+ && mkdir -p /uploadFile/ \
+ && mkdir -p /var/log/app \
+ && mkdir -p /opt/app/logs \
+ && mkdir -p /opt/agent/config
+
+ENV TZ "Asia/Shanghai"
+
+ADD ./skywalking-agent.jar /opt/agent/skywalking-agent.jar
+ADD ./agent.config /opt/agent/config/agent.config
+
+RUN echo "set fileencodings=utf-8,gbk,gb2312,gb18030,cp936,latin1 \n set fenc=utf-8 \n set tenc=utf-8 \n set enc=utf-8 \n" |tee ~/.vimrc
+
+
+ARG JAR_FILE
+ARG PRO_FILE
+ARG SOURCE_NAME
+
+ADD ./startApp.sh /opt/app/
+RUN chmod u+x /opt/app/*.sh
+ADD ./${SOURCE_NAME} /opt/app/app.jar
+RUN test -f /opt/app/app.jar || { echo "Error: JAR file not found at ${SOURCE_NAME}"; exit 1; }
+
+#应用名称
+ENV APP_NAME=itc-pcitc-mdm
+#skywalking-oap-server地址
+ENV SKYWALKING_SERVER=10.10.2.102:11800
+ENV ENV_APP_FILE_PATH=/opt/app/app.jar
+ENV ENV_APP_PRO_FILE=local
+
+EXPOSE 8096 5005
+
+ENTRYPOINT ["/opt/app/startApp.sh"]
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/agent.config b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/agent.config
new file mode 100644
index 0000000..ed3fb29
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/agent.config
@@ -0,0 +1,4 @@
+# 应用名称(在 SkyWalking UI 中显示的服务名)
+agent.service_name=your-springboot-app
+# SkyWalking OAP 服务地址(默认本地)
+collector.backend_service=localhost:11800
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-dev.yml
similarity index 100%
rename from itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml
rename to itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-dev.yml
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-local.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-local.yml
similarity index 100%
rename from itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-local.yml
rename to itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-local.yml
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-remote.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-remote.yml
similarity index 100%
rename from itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-remote.yml
rename to itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-remote.yml
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-test.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-test.yml
new file mode 100644
index 0000000..53409d8
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap-test.yml
@@ -0,0 +1,9 @@
+spring:
+ cloud:
+ nacos: #nacos监控
+ config:
+ server-addr: 10.4.126.114:8848 # nacos 配置中心地址
+ namespace: ITC-MS
+ group: DNE
+ username: nacos
+ password: Lng@123
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap.yml
similarity index 96%
rename from itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml
rename to itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap.yml
index d2afbfe..b7c7902 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/bootstrap.yml
@@ -1,9 +1,9 @@
server:
- port: 8099
+ port: 8096
spring:
application:
- name: demo-service
+ name: pcitc-mdm-service
main:
allow-bean-definition-overriding: true
profiles:
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/docker-mdm.sh b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/docker-mdm.sh
new file mode 100644
index 0000000..aef3758
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/docker-mdm.sh
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+# 定义变量
+CONTAINER_NAME="itc-pcitc-mdm"
+IMAGE_NAME="10.10.2.102/itc-pcitc-mdm"
+IMAGE_VERSION="2025-08-04-0940"
+IMAGE_FULL="$IMAGE_NAME:$IMAGE_VERSION"
+PORT=8096 # 服务暴露端口
+CONTAINER_PORT=8096 # 服务暴露端口
+TZ="Asia/Shanghai" # 时区设置
+# 环境变量配置
+ENV_APP_PRO_FILE="local"
+file="$CONTAINER_NAME-version.txt"
+
+# 检查文件是否存在(假设 $file 是目标文件变量,已在别处定义)
+if [ ! -f "$file" ]; then
+ echo "文件 $file 不存在"
+ touch "$file" # 变量加引号,处理含空格的文件名
+ echo "$IMAGE_FULL" >> "$file"
+ echo "记录版本【$IMAGE_FULL】到 $file"
+else
+ # 检查参数数量(建议移到脚本开头统一检查)
+ if [ $# -eq 2 ]; then
+ IMAGE_FULL="$IMAGE_NAME:$2"
+ echo "$IMAGE_FULL" >> "$file"
+ echo "记录版本【$IMAGE_FULL】到 $file"
+ else
+ # 修正赋值语法:等号两侧无空格
+ last_version=$(tail -n 1 "$file")
+ IMAGE_FULL="$last_version"
+ # 建议添加对 $IMAGE_FULL 的后续处理(如使用该变量)
+ fi
+fi
+
+# 显示帮助信息
+show_help() {
+ echo "使用方法: $0 [操作类型]"
+ echo "操作类型:"
+ echo " deploy - 部署并启动服务容器"
+ echo " remove - 停止并删除容器及数据/日志目录"
+ echo " logs - 查看容器日志"
+ echo " help - 显示帮助信息"
+}
+
+
+
+# 部署服务
+deploy_service() {
+ echo "部署镜像【$IMAGE_FULL】"
+ # 检查容器是否已存在,存在则停止并删除
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "停止并删除现有容器: $CONTAINER_NAME"
+ docker stop $CONTAINER_NAME >/dev/null
+ docker rm $CONTAINER_NAME >/dev/null
+ fi
+
+ # 启动服务容器
+ echo "启动服务容器..."
+ docker run -d --privileged --restart always \
+ --name $CONTAINER_NAME \
+ -p $PORT:$CONTAINER_PORT \
+ -e ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE \
+ $IMAGE_FULL
+
+ # 检查启动状态
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME -f status=running)" ]; then
+ echo "服务启动成功!"
+ echo "容器名称: $CONTAINER_NAME"
+ echo "访问地址: http://localhost:$PORT"
+ echo "环境变量: ENV_APP_PRO_FILE=$ENV_APP_PRO_FILE"
+ else
+ echo "服务启动失败,日志如下:"
+ docker logs $CONTAINER_NAME
+ exit 1
+ fi
+}
+
+# 删除服务
+remove_service() {
+ # 检查容器是否存在
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "停止容器: $CONTAINER_NAME"
+ docker stop $CONTAINER_NAME >/dev/null
+
+ echo "删除容器: $CONTAINER_NAME"
+ docker rm $CONTAINER_NAME >/dev/null
+ else
+ echo "容器 $CONTAINER_NAME 不存在"
+ fi
+}
+
+# 查看日志
+show_logs() {
+ if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then
+ echo "查看 $CONTAINER_NAME 容器日志 (按 Ctrl+C 退出)..."
+ docker logs -f --tail 200 $CONTAINER_NAME
+ else
+ echo "容器 $CONTAINER_NAME 不存在"
+ fi
+}
+
+# 主逻辑
+if [ $# -lt 1 ]; then
+ show_help
+ exit 1
+fi
+
+case "$1" in
+ deploy)
+ deploy_service
+ ;;
+ remove)
+ remove_service
+ ;;
+ logs)
+ show_logs
+ ;;
+ help)
+ show_help
+ ;;
+ *)
+ echo "无效的操作类型: $1"
+ show_help
+ exit 1
+ ;;
+esac
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/startApp.sh b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/startApp.sh
new file mode 100644
index 0000000..7dff4c5
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-start/target/classes/startApp.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+#cp /etc/hosts /etc/hosts.temp
+
+# 初始化环境变量(设置默认值,避免空变量)
+APP_NAME=${APP_NAME:-"default-springboot-app"} # 默认服务名
+SKYWALKING_SERVER=${SKYWALKING_SERVER:-"localhost:11800"} # 默认SkyWalking服务地址
+ENV_APP_PRO_FILE=${ENV_APP_PRO_FILE:-"test"} # 默认环境为test
+
+# 初始化Java启动参数(包含是否使用-server模式)
+java_base="java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME"
+export java_base="$java_base -Dskywalking.collector.backend_service=$SKYWALKING_SERVER"
+
+java_start="$java_base -jar"
+
+# 根据环境变量区分开发/生产环境配置
+if [ "$ENV_APP_PRO_FILE" = "prod" ]; then
+ # 生产环境JVM参数
+ export JAVA_OPTS="-Xms1024m -Xmx4096m -Xmn512m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
+ export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:G1ReservePercent=20"
+ export JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500 -XX:G1MixedGCCountTarget=10"
+
+ export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
+ export JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
+
+ # 生产环境使用-server模式
+ java_start="$java_base -jar -server"
+else
+ # 开发环境JVM参数
+ export JAVA_OPTS="-Xms512m -Xmx2048m -Xmn256m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
+ export JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
+ export JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=5000"
+ export JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly"
+ export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:./logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps"
+ # 开发环境开启远程调试
+ export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
+fi
+
+# 公共配置(编码、时区等)
+export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8"
+export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
+export JAVA_OPTS="$JAVA_OPTS -Duser.language=zh -Duser.country=CN -Duser.timezone=Asia/Shanghai"
+
+# SpringBoot 环境配置
+export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV_APP_PRO_FILE"
+
+# 输出启动参数
+echo "启动参数:$java_start $JAVA_OPTS $ENV_APP_FILE_PATH"
+
+# 执行启动命令(用双引号包裹每个变量)
+exec $java_start $JAVA_OPTS $ENV_APP_FILE_PATH
\ No newline at end of file