feat: devops 改造
This commit is contained in:
parent
0d5d50f130
commit
404f0d9710
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,7 +3,11 @@
|
||||
target
|
||||
classes
|
||||
|
||||
.m2
|
||||
prd
|
||||
devops/images
|
||||
devops/nacos
|
||||
devops/web
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
117
devops/Dockerfile
Normal file
117
devops/Dockerfile
Normal file
@ -0,0 +1,117 @@
|
||||
# ============================================================
|
||||
# 碳信网 - 统一后端构建镜像
|
||||
# 使用方式: docker run -e SERVICE_NAME=gateway txw-all:latest
|
||||
# ============================================================
|
||||
|
||||
# Stage 1: Build
|
||||
FROM maven:3.6.3-openjdk-8 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 1: 复制所有 pom.xml 和 settings
|
||||
# -------------------------------------------
|
||||
|
||||
# 公共模块
|
||||
COPY txw-common/pom.xml txw-common/pom.xml
|
||||
COPY txw-common/src txw-common/src
|
||||
|
||||
# Gateway
|
||||
COPY txw-gateway/pom.xml gateway/pom.xml
|
||||
COPY txw-gateway/devops/settings-offline.xml gateway/settings.xml
|
||||
COPY txw-gateway/src gateway/src
|
||||
|
||||
# SSO
|
||||
COPY txw-sso/pom.xml sso/pom.xml
|
||||
COPY txw-sso/devops/settings-offline.xml sso/settings.xml
|
||||
COPY txw-sso/txw-sso-service-api/pom.xml sso/txw-sso-service-api/pom.xml
|
||||
COPY txw-sso/txw-sso-service-api/src sso/txw-sso-service-api/src
|
||||
COPY txw-sso/txw-sso-service-biz/pom.xml sso/txw-sso-service-biz/pom.xml
|
||||
COPY txw-sso/txw-sso-service-biz/src sso/txw-sso-service-biz/src
|
||||
|
||||
# MHZC
|
||||
COPY txw-mhzc/pom.xml mhzc/pom.xml
|
||||
COPY txw-mhzc/devops/settings-offline.xml mhzc/settings.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-api/pom.xml mhzc/txw-mhzc-service-api/pom.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-api/src mhzc/txw-mhzc-service-api/src
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/pom.xml mhzc/txw-mhzc-service-biz/pom.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/src mhzc/txw-mhzc-service-biz/src
|
||||
|
||||
# YYGL
|
||||
COPY txw-yygl/pom.xml yygl/pom.xml
|
||||
COPY txw-yygl/settings.xml yygl/settings.xml
|
||||
COPY txw-yygl/txw-yygl-service-api/pom.xml yygl/txw-yygl-service-api/pom.xml
|
||||
COPY txw-yygl/txw-yygl-service-api/src yygl/txw-yygl-service-api/src
|
||||
COPY txw-yygl/txw-yygl-service-biz/pom.xml yygl/txw-yygl-service-biz/pom.xml
|
||||
COPY txw-yygl/txw-yygl-service-biz/src yygl/txw-yygl-service-biz/src
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 2: 复制 Maven 本地仓库(离线构建)
|
||||
# -------------------------------------------
|
||||
COPY script/.m2/repository /root/.m2/repository
|
||||
|
||||
# -------------------------------------------
|
||||
# Step 3: 按依赖顺序构建
|
||||
# -------------------------------------------
|
||||
|
||||
# 3.1 构建公共模块
|
||||
WORKDIR /build/txw-common
|
||||
RUN mvn clean install -DskipTests -s ../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
# 3.2 构建 API 模块
|
||||
WORKDIR /build/mhzc/txw-mhzc-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
WORKDIR /build/sso/txw-sso-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
WORKDIR /build/yygl/txw-yygl-service-api
|
||||
RUN mvn clean install -DskipTests -s ../../gateway/settings.xml -o || mvn clean install -DskipTests
|
||||
|
||||
# 3.3 构建 BIZ 模块
|
||||
WORKDIR /build/mhzc/txw-mhzc-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
WORKDIR /build/sso/txw-sso-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
WORKDIR /build/yygl/txw-yygl-service-biz
|
||||
RUN mvn clean package -DskipTests -s ../../gateway/settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
# 3.4 构建 Gateway
|
||||
WORKDIR /build/gateway
|
||||
RUN mvn clean package -DskipTests -s settings.xml -o || mvn clean package -DskipTests
|
||||
|
||||
# Stage 2: Package
|
||||
FROM eclipse-temurin:8-jre
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 安装字体(用于验证码 Captcha)
|
||||
RUN apt-get update && apt-get install -y \
|
||||
fonts-noto-cjk \
|
||||
fontconfig \
|
||||
&& fc-cache -f -v \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
COPY devops/start.sh /app/start.sh
|
||||
RUN chmod +x /app/start.sh
|
||||
|
||||
# 复制所有构建产物
|
||||
COPY --from=builder /build/gateway/target/springboot.jar /app/gateway.jar
|
||||
COPY --from=builder /build/sso/txw-sso-service-biz/target/txw-sso-service-biz.jar /app/sso.jar
|
||||
COPY --from=builder /build/mhzc/txw-mhzc-service-biz/target/txw-mhzc-service-biz.jar /app/mhzc.jar
|
||||
COPY --from=builder /build/yygl/txw-yygl-service-biz/target/txw-yygl-service-biz.jar /app/yygl.jar
|
||||
|
||||
# 清理构建缓存
|
||||
RUN rm -rf /root/.m2 /root/.mvn
|
||||
|
||||
# 环境变量:指定启动的服务名
|
||||
ENV SERVICE_NAME=gateway
|
||||
|
||||
# 激活正式环境 profile
|
||||
ENV SPRING_PROFILES_ACTIVE=prod
|
||||
|
||||
EXPOSE 9300 9301 9302 9303 20010
|
||||
|
||||
ENTRYPOINT ["/app/start.sh"]
|
||||
219
devops/README.md
Normal file
219
devops/README.md
Normal file
@ -0,0 +1,219 @@
|
||||
# 碳信网 - Docker 部署指南
|
||||
|
||||
## 概述
|
||||
|
||||
本目录包含碳信网项目的 Docker 编排配置,分为两部分:
|
||||
|
||||
- **基础设施服务**:nacos、redis、minio
|
||||
- **业务服务**:gateway、sso、mhzc、yygl
|
||||
|
||||
---
|
||||
|
||||
## 构建镜像
|
||||
|
||||
### 前置要求
|
||||
|
||||
- Docker 20.10+
|
||||
- Maven 3.6+
|
||||
- Node.js 16+
|
||||
- npm
|
||||
|
||||
### 构建命令
|
||||
|
||||
```bash
|
||||
cd devops
|
||||
|
||||
# 构建所有镜像(前后端)
|
||||
bash build.sh [VERSION]
|
||||
|
||||
# 示例:构建 1.0.0-BETA 版本
|
||||
bash build.sh 1.0.0-BETA
|
||||
```
|
||||
|
||||
构建脚本会依次完成:
|
||||
|
||||
1. 构建前端 mhzc-web
|
||||
2. 构建前端 yygl-web
|
||||
3. 构建后端统一镜像 `txw-all`
|
||||
4. 构建前端镜像 `txw-web`
|
||||
|
||||
仅构建后端
|
||||
|
||||
```
|
||||
docker build -t txw-all:1.0.0-BETA -t txw-all:latest -f devops/Dockerfile .
|
||||
```
|
||||
|
||||
|
||||
仅构建前端
|
||||
|
||||
```
|
||||
docker build -t txw-web:1.0.0-BETA -t txw-web:latest -f devops/web/Dockerfile .
|
||||
```
|
||||
|
||||
### 更新镜像
|
||||
|
||||
代码变更后,重新构建并启动:
|
||||
|
||||
```bash
|
||||
# 1. 重新构建镜像
|
||||
bash build.sh 1.0.0-BETA
|
||||
|
||||
# 2. 重启业务服务(使用新镜像)
|
||||
docker-compose -f docker-compose.svc.yml up -d --build
|
||||
```
|
||||
|
||||
### 查看镜像
|
||||
|
||||
```bash
|
||||
docker images | grep txw-
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
devops/
|
||||
├── docker-compose.infra.yml # 基础设施编排
|
||||
├── docker-compose.svc.yml # 业务服务编排
|
||||
├── nacos/ # Nacos 数据持久化目录
|
||||
│ ├── data/
|
||||
│ └── logs/
|
||||
└── README.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 准备docker网络(首次必须)
|
||||
|
||||
```
|
||||
docker network create txw-network
|
||||
```
|
||||
|
||||
### 2. 启动基础设施(首次必须)
|
||||
|
||||
```bash
|
||||
cd devops
|
||||
docker-compose -f docker-compose.infra.yml up -d
|
||||
```
|
||||
|
||||
### 3. 启动业务服务
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.svc.yml up -d
|
||||
```
|
||||
|
||||
### 4. 查看服务状态
|
||||
|
||||
```bash
|
||||
docker-compose -f docker-compose.infra.yml ps
|
||||
docker-compose -f docker-compose.svc.yml ps
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 服务访问
|
||||
|
||||
| 服务 | 地址 | 说明 |
|
||||
| ------- | --------------------------- | ----------------------------- |
|
||||
| Nacos | http://localhost:8848/nacos | 默认账号: nacos / nacos |
|
||||
| Redis | localhost:6379 | 密码: redis_password |
|
||||
| MinIO | http://localhost:9000 | 控制台: http://localhost:9001 |
|
||||
| Gateway | http://localhost:9300 | API 网关 |
|
||||
| SSO | http://localhost:9301 | 单点登录 |
|
||||
| MHZC | http://localhost:9302 | 碳资产服务 |
|
||||
| YYGL | http://localhost:20010 | 运营管理服务 |
|
||||
|
||||
---
|
||||
|
||||
## 常用操作
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 基础设施日志
|
||||
docker-compose -f docker-compose.infra.yml logs -f
|
||||
|
||||
# 业务服务日志
|
||||
docker-compose -f docker-compose.svc.yml logs -f
|
||||
|
||||
# 单个服务日志
|
||||
docker-compose -f docker-compose.infra.yml logs -f nacos
|
||||
docker-compose -f docker-compose.svc.yml logs -f gateway
|
||||
```
|
||||
|
||||
### 重启服务
|
||||
|
||||
```bash
|
||||
# 重启单个服务
|
||||
docker-compose -f docker-compose.svc.yml restart gateway
|
||||
|
||||
# 重启所有业务服务
|
||||
docker-compose -f docker-compose.svc.yml restart
|
||||
```
|
||||
|
||||
### 停止服务
|
||||
|
||||
```bash
|
||||
# 停止业务服务
|
||||
docker-compose -f docker-compose.svc.yml down
|
||||
|
||||
# 停止所有服务(包括基础设施)
|
||||
docker-compose -f docker-compose.infra.yml down
|
||||
docker-compose -f docker-compose.svc.yml down
|
||||
```
|
||||
|
||||
### 重建服务
|
||||
|
||||
```bash
|
||||
# 重新构建并启动(代码更新后使用)
|
||||
docker-compose -f docker-compose.svc.yml up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 数据持久化
|
||||
|
||||
| 服务 | 宿主机路径 |
|
||||
| ---------- | ------------------------- |
|
||||
| Nacos data | ./nacos/data |
|
||||
| Nacos logs | ./nacos/logs |
|
||||
| Redis data | Docker volume: redis-data |
|
||||
| MinIO data | Docker volume: minio-data |
|
||||
|
||||
---
|
||||
|
||||
## 网络说明
|
||||
|
||||
所有服务通过 `txw-network` 桥接网络互通:
|
||||
|
||||
- 基础设施创建网络并定义 volumes
|
||||
- 业务服务通过 `external: true` 加入网络
|
||||
|
||||
**注意**:启动业务服务前,必须先启动基础设施,确保网络已创建。
|
||||
|
||||
---
|
||||
|
||||
## 开发调试
|
||||
|
||||
### 进入容器
|
||||
|
||||
```bash
|
||||
docker exec -it txw-nacos bash
|
||||
docker exec -it txw-gateway bash
|
||||
```
|
||||
|
||||
### 检查网络
|
||||
|
||||
```bash
|
||||
docker network inspect devops_txw-network
|
||||
```
|
||||
|
||||
### 检查服务健康状态
|
||||
|
||||
```bash
|
||||
curl http://localhost:8848/nacos/v1/ns/operator/metrics
|
||||
docker exec txw-redis redis-cli -a redis_password ping
|
||||
```
|
||||
69
devops/build.sh
Normal file
69
devops/build.sh
Normal file
@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 统一构建脚本
|
||||
# 用法: bash devops/build.sh [VERSION]
|
||||
# 示例: bash devops/build.sh 1.0.0-BETA
|
||||
# ============================================================
|
||||
|
||||
VERSION=${1:-1.0.0-BETA}
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
|
||||
echo "========================================="
|
||||
echo " 碳信网 - 统一构建"
|
||||
echo "========================================="
|
||||
echo " 版本: ${VERSION}"
|
||||
echo " 项目目录: ${PROJECT_DIR}"
|
||||
echo "========================================="
|
||||
|
||||
cd "${PROJECT_DIR}"
|
||||
|
||||
echo ""
|
||||
echo ">>> [1/3] 构建前端 (mhzc-web) ..."
|
||||
cd txw-mhzc-web
|
||||
if [ ! -d "node_modules" ]; then
|
||||
npm install
|
||||
fi
|
||||
npm run build
|
||||
cd "${PROJECT_DIR}"
|
||||
|
||||
echo ""
|
||||
echo ">>> [2/3] 构建前端 (yygl-web) ..."
|
||||
cd txw-yygl-web
|
||||
if [ ! -d "node_modules" ]; then
|
||||
npm install
|
||||
fi
|
||||
npm run build
|
||||
cd "${PROJECT_DIR}"
|
||||
|
||||
echo ""
|
||||
echo ">>> [3/4] 构建后端镜像 (txw-all) ..."
|
||||
docker build \
|
||||
-t txw-all:${VERSION} \
|
||||
-t txw-all:latest \
|
||||
-f devops/Dockerfile "${PROJECT_DIR}"
|
||||
|
||||
echo ">>> 后端镜像构建完成"
|
||||
|
||||
echo ""
|
||||
echo ">>> [4/4] 构建前端镜像 (txw-web) ..."
|
||||
docker build \
|
||||
-t txw-web:${VERSION} \
|
||||
-t txw-web:latest \
|
||||
-f devops/web/Dockerfile "${PROJECT_DIR}"
|
||||
|
||||
echo ">>> 前端镜像构建完成"
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo " 所有镜像构建完成!"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo "镜像列表:"
|
||||
echo " 后端: txw-all:${VERSION}"
|
||||
echo " 前端: txw-web:${VERSION}"
|
||||
echo ""
|
||||
echo "运行示例:"
|
||||
echo " docker run -e SERVICE_NAME=gateway txw-all:${VERSION}"
|
||||
echo " docker run -p 8080:8080 txw-web:${VERSION}"
|
||||
84
devops/docker-compose.infra.yml
Normal file
84
devops/docker-compose.infra.yml
Normal file
@ -0,0 +1,84 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 基础设施服务
|
||||
# 使用方式:
|
||||
# 启动基础设施: docker-compose up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
nacos:
|
||||
image: nacos/nacos-server:v2.3.2
|
||||
container_name: txw-nacos
|
||||
ports:
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
- "9849:9849"
|
||||
environment:
|
||||
- MODE=standalone
|
||||
- PREFER_HOST_MODE=hostname
|
||||
- JVM_XMS=512m
|
||||
- JVM_XMX=512m
|
||||
- JVM_XMN=256m
|
||||
- NACOS_AUTH_ENABLE=true
|
||||
- NACOS_AUTH_TOKEN=TmFjb3NBdXRoVG9rZW5TZWNyZXRLZXkyMDI0Rm9yRGV2RW52aXJvbm1lbnQ=
|
||||
- NACOS_CORE_AUTH_SERVER_IDENTITY_KEY=nacos
|
||||
- NACOS_CORE_AUTH_SERVER_IDENTITY_VALUE=nacos2024
|
||||
volumes:
|
||||
- ./nacos/data:/home/nacos/data
|
||||
- ./nacos/logs:/home/nacos/logs
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8848/nacos"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: txw-redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --requirepass redis_password
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: txw-minio
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=minioadmin
|
||||
- MINIO_ROOT_PASSWORD=minioadmin123
|
||||
command: server /data --console-address ":9001"
|
||||
volumes:
|
||||
- ./minio-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
networks:
|
||||
txw-network:
|
||||
name: txw-network
|
||||
driver: bridge
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
nacos-data:
|
||||
redis-data:
|
||||
minio-data:
|
||||
73
devops/docker-compose.svc.test.yml
Normal file
73
devops/docker-compose.svc.test.yml
Normal file
@ -0,0 +1,73 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 业务服务
|
||||
# 使用方式:
|
||||
# 启动所有服务: docker-compose up -d
|
||||
# 前提: 先启动 docker-compose -f docker-compose.infra.yml up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
gateway:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-gateway
|
||||
environment:
|
||||
- SERVICE_NAME=gateway
|
||||
- SPRING_PROFILES_ACTIVE=test
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
ports:
|
||||
- "9300:9300"
|
||||
networks:
|
||||
- txw
|
||||
|
||||
sso:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-sso
|
||||
environment:
|
||||
- SERVICE_NAME=sso
|
||||
- SPRING_PROFILES_ACTIVE=test
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9301:9301"
|
||||
networks:
|
||||
- txw
|
||||
|
||||
mhzc:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-mhzc
|
||||
environment:
|
||||
- SERVICE_NAME=mhzc
|
||||
- SPRING_PROFILES_ACTIVE=test
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9302:9302"
|
||||
networks:
|
||||
- txw
|
||||
|
||||
yygl:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-yygl
|
||||
environment:
|
||||
- SERVICE_NAME=yygl
|
||||
- SPRING_PROFILES_ACTIVE=test
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "20010:20010"
|
||||
networks:
|
||||
- txw
|
||||
|
||||
networks:
|
||||
txw:
|
||||
name: txw
|
||||
driver: bridge
|
||||
external: true
|
||||
73
devops/docker-compose.svc.yml
Normal file
73
devops/docker-compose.svc.yml
Normal file
@ -0,0 +1,73 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 业务服务
|
||||
# 使用方式:
|
||||
# 启动所有服务: docker-compose up -d
|
||||
# 前提: 先启动 docker-compose -f docker-compose.infra.yml up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
gateway:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-gateway
|
||||
environment:
|
||||
- SERVICE_NAME=gateway
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
ports:
|
||||
- "9300:9300"
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
sso:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-sso
|
||||
environment:
|
||||
- SERVICE_NAME=sso
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9301:9301"
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
mhzc:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-mhzc
|
||||
environment:
|
||||
- SERVICE_NAME=mhzc
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9302:9302"
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
yygl:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-yygl
|
||||
environment:
|
||||
- SERVICE_NAME=yygl
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "20010:20010"
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
networks:
|
||||
txw-network:
|
||||
name: txw-network
|
||||
driver: bridge
|
||||
external: true
|
||||
30
devops/docker-compose.web.test.yml
Normal file
30
devops/docker-compose.web.test.yml
Normal file
@ -0,0 +1,30 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 业务服务
|
||||
# 使用方式:
|
||||
# 启动所有服务: docker-compose up -d
|
||||
# 前提: 先启动 docker-compose -f docker-compose.infra.yml up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
web:
|
||||
image: txw-web:1.0.0-BETA
|
||||
container_name: txw-web
|
||||
ports:
|
||||
- "30090:80"
|
||||
deploy:
|
||||
replicas: 1
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 1G
|
||||
networks:
|
||||
- txw
|
||||
|
||||
networks:
|
||||
txw:
|
||||
name: txw
|
||||
driver: bridge
|
||||
external: true
|
||||
34
devops/docker-compose.web.yml
Normal file
34
devops/docker-compose.web.yml
Normal file
@ -0,0 +1,34 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 业务服务
|
||||
# 使用方式:
|
||||
# 启动所有服务: docker-compose up -d
|
||||
# 前提: 先启动 docker-compose -f docker-compose.infra.yml up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
web:
|
||||
image: txw-web:1.0.0-BETA
|
||||
container_name: txw-web
|
||||
environment:
|
||||
- SERVICE_NAME=gateway
|
||||
- SPRING_PROFILES_ACTIVE=test
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
ports:
|
||||
- "30090:80"
|
||||
deploy:
|
||||
replicas: 1
|
||||
resources:
|
||||
limits:
|
||||
cpus: '1.0'
|
||||
memory: 1G
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
networks:
|
||||
txw-network:
|
||||
name: txw-network
|
||||
driver: bridge
|
||||
external: true
|
||||
186
devops/docker-compose.yml
Normal file
186
devops/docker-compose.yml
Normal file
@ -0,0 +1,186 @@
|
||||
version: '3.8'
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 服务编排
|
||||
# 使用方式:
|
||||
# 单服务启动: docker-compose up -d gateway
|
||||
# 启动所有: docker-compose up -d
|
||||
# ============================================================
|
||||
|
||||
services:
|
||||
|
||||
# ============================================
|
||||
# 基础设施服务
|
||||
# ============================================
|
||||
|
||||
nacos:
|
||||
image: nacos/nacos-server:v2.3.2 # Nacos 官方镜像,指定稳定版本(避免latest)
|
||||
container_name: txw-nacos # 容器名称,方便管理
|
||||
ports:
|
||||
- "8848:8848" # Nacos 核心端口(Web控制台+API)
|
||||
- "9848:9848" # Nacos 2.x 新增的客户端通信端口
|
||||
- "9849:9849" # Nacos 2.x 新增的客户端grpc端口
|
||||
environment:
|
||||
# 核心配置:单机模式启动(必选)
|
||||
- MODE=standalone
|
||||
# 首选主机模式(单机环境用hostname即可)
|
||||
- PREFER_HOST_MODE=hostname
|
||||
# JVM 内存配置(避免默认内存过大/过小)
|
||||
- JVM_XMS=512m
|
||||
- JVM_XMX=512m
|
||||
- JVM_XMN=256m
|
||||
# 开启鉴权
|
||||
- NACOS_AUTH_ENABLE=true
|
||||
# 鉴权 Token 密钥(Base64 编码,至少 32 字节)
|
||||
- NACOS_AUTH_TOKEN=TmFjb3NBdXRoVG9rZW5TZWNyZXRLZXkyMDI0Rm9yRGV2RW52aXJvbm1lbnQ=
|
||||
# 服务身份验证密钥
|
||||
- NACOS_CORE_AUTH_SERVER_IDENTITY_KEY=nacos
|
||||
- NACOS_CORE_AUTH_SERVER_IDENTITY_VALUE=nacos2024
|
||||
volumes:
|
||||
# 数据持久化:挂载Nacos的数据目录到宿主机
|
||||
- ./nacos/data:/home/nacos/data
|
||||
# 日志持久化:挂载日志目录到宿主机
|
||||
- ./nacos/logs:/home/nacos/logs
|
||||
# 配置文件挂载(如需自定义配置,可先从容器拷贝再挂载)
|
||||
# - ./nacos/conf:/home/nacos/conf
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8848/nacos"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: txw-redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --requirepass redis_password
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: txw-minio
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=minioadmin
|
||||
- MINIO_ROOT_PASSWORD=minioadmin123
|
||||
command: server /data --console-address ":9001"
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
# ============================================
|
||||
# 业务服务(统一后端镜像)
|
||||
# ============================================
|
||||
|
||||
gateway:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-gateway
|
||||
environment:
|
||||
- SERVICE_NAME=gateway
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
ports:
|
||||
- "9300:9300"
|
||||
depends_on:
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
sso:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-sso
|
||||
environment:
|
||||
- SERVICE_NAME=sso
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9301:9301"
|
||||
depends_on:
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
mhzc:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-mhzc
|
||||
environment:
|
||||
- SERVICE_NAME=mhzc
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "9302:9302"
|
||||
depends_on:
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
yygl:
|
||||
image: txw-all:1.0.0-BETA
|
||||
container_name: txw-yygl
|
||||
environment:
|
||||
- SERVICE_NAME=yygl
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- NACOS_SERVER_ADDR=nacos:8848
|
||||
- SPRING_REDIS_HOST=redis
|
||||
- SPRING_REDIS_PORT=6379
|
||||
- SPRING_REDIS_PASSWORD=redis_password
|
||||
ports:
|
||||
- "20010:20010"
|
||||
depends_on:
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- txw-network
|
||||
|
||||
# ============================================
|
||||
# 前端服务
|
||||
# ============================================
|
||||
|
||||
# ============================================
|
||||
# 网络和存储卷
|
||||
# ============================================
|
||||
|
||||
networks:
|
||||
txw-network:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
nacos-data:
|
||||
redis-data:
|
||||
minio-data:
|
||||
188
devops/pack-image.sh
Normal file
188
devops/pack-image.sh
Normal file
@ -0,0 +1,188 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# ============================================================
|
||||
# 碳信网 - 镜像打包脚本
|
||||
# 用法: bash devops/pack-image.sh <txw-web|txw-all> [VERSION] [SERVER_USER] [SERVER_HOST]
|
||||
# 示例:
|
||||
# bash devops/pack-image.sh txw-web 1.0.0 root 192.168.1.100
|
||||
# bash devops/pack-image.sh txw-all
|
||||
# ============================================================
|
||||
|
||||
# 默认配置
|
||||
DEFAULT_VERSION="latest"
|
||||
DEFAULT_SERVER_USER="root"
|
||||
DEFAULT_SERVER_HOST="192.168.1.100"
|
||||
|
||||
# 参数解析
|
||||
IMAGE_TYPE=${1:-}
|
||||
VERSION=${2:-${DEFAULT_VERSION}}
|
||||
SERVER_USER=${3:-${DEFAULT_SERVER_USER}}
|
||||
SERVER_HOST=${4:-${DEFAULT_SERVER_HOST}}
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
IMAGE_NAME=""
|
||||
REMOTE_IMAGE_PATH=""
|
||||
REMOTE_DIR=""
|
||||
SERVICE_NAME=""
|
||||
|
||||
# 镜像元数据
|
||||
case "${IMAGE_TYPE}" in
|
||||
txw-web)
|
||||
IMAGE_NAME="txw-web:${VERSION}"
|
||||
REMOTE_IMAGE_PATH="/opt/txw/images/txw-web-${VERSION}.tar"
|
||||
REMOTE_DIR="/opt/txw/txw-web"
|
||||
SERVICE_NAME="txw-web"
|
||||
;;
|
||||
txw-all)
|
||||
IMAGE_NAME="txw-all:${VERSION}"
|
||||
REMOTE_IMAGE_PATH="/opt/txw/images/txw-all-${VERSION}.tar"
|
||||
REMOTE_DIR="/opt/txw/txw-all"
|
||||
SERVICE_NAME="txw-all"
|
||||
;;
|
||||
*)
|
||||
echo "============================================"
|
||||
echo " 碳信网 - 镜像打包脚本"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "用法: bash devops/pack-image.sh <txw-web|txw-all> [VERSION] [SERVER_USER] [SERVER_HOST]"
|
||||
echo ""
|
||||
echo "参数说明:"
|
||||
echo " txw-web 前端镜像 (默认版本: ${DEFAULT_VERSION})"
|
||||
echo " txw-all 后端镜像 (默认版本: ${DEFAULT_VERSION})"
|
||||
echo " VERSION 镜像版本,默认为 ${DEFAULT_VERSION}"
|
||||
echo " SERVER_USER 服务器用户,默认为 ${DEFAULT_SERVER_USER}"
|
||||
echo " SERVER_HOST 服务器地址,默认为 ${DEFAULT_SERVER_HOST}"
|
||||
echo ""
|
||||
echo "示例:"
|
||||
echo " bash devops/pack-image.sh txw-web 1.0.0 root 192.168.1.100"
|
||||
echo " bash devops/pack-image.sh txw-all"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# 确保镜像是最新的
|
||||
ensure_image() {
|
||||
local local_image=$(docker images -q ${IMAGE_NAME} 2>/dev/null)
|
||||
|
||||
if [ -z "${local_image}" ]; then
|
||||
echo ""
|
||||
echo "[!] 本地未找到镜像: ${IMAGE_NAME}"
|
||||
echo "[*] 正在尝试构建..."
|
||||
|
||||
case "${IMAGE_TYPE}" in
|
||||
txw-web)
|
||||
bash "${SCRIPT_DIR}/build.sh" "${VERSION}"
|
||||
;;
|
||||
txw-all)
|
||||
echo "[!] 后端镜像需要完整构建,请执行:"
|
||||
echo " bash devops/build.sh ${VERSION}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
# 打包镜像
|
||||
pack_image() {
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " 碳信网 - 镜像打包"
|
||||
echo "============================================"
|
||||
echo " 镜像类型: ${IMAGE_TYPE}"
|
||||
echo " 版本: ${VERSION}"
|
||||
echo " 镜像名称: ${IMAGE_NAME}"
|
||||
echo "============================================"
|
||||
|
||||
# 确保镜像存在
|
||||
ensure_image
|
||||
|
||||
# 镜像输出目录
|
||||
PACK_DIR="${SCRIPT_DIR}/images"
|
||||
mkdir -p "${PACK_DIR}"
|
||||
|
||||
TIMESTAMP=$(date +%Y-%m-%d%H%M%S)
|
||||
PACKAGE_FILE="${PACK_DIR}/${IMAGE_TYPE}-${VERSION}-${TIMESTAMP}.tar"
|
||||
MD5_FILE="${PACKAGE_FILE}.md5"
|
||||
|
||||
echo ""
|
||||
echo ">>> [1/3] 打包镜像 -> ${PACKAGE_FILE}"
|
||||
docker save -o "${PACKAGE_FILE}" "${IMAGE_NAME}"
|
||||
|
||||
echo ""
|
||||
echo ">>> [2/3] 生成校验文件"
|
||||
md5sum "${PACKAGE_FILE}" > "${MD5_FILE}"
|
||||
|
||||
echo ""
|
||||
echo ">>> [3/3] 打包完成"
|
||||
ls -lh "${PACKAGE_FILE}" "${MD5_FILE}"
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " 下一步操作提示"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo ">>> 1. 传输镜像到服务器"
|
||||
echo ""
|
||||
echo " # 方式一: scp 传输"
|
||||
echo " scp ${PACKAGE_FILE} ${SERVER_USER}@${SERVER_HOST}:/opt/txw/images/"
|
||||
echo " scp ${MD5_FILE} ${SERVER_USER}@${SERVER_HOST}:/opt/txw/images/"
|
||||
echo ""
|
||||
echo " # 方式二: 手动复制后执行 (推荐生产环境先上传再解压)"
|
||||
echo ""
|
||||
echo ">>> 2. SSH 到服务器后,执行以下命令:"
|
||||
echo ""
|
||||
echo " # 创建目录"
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} 'mkdir -p /opt/txw/images'"
|
||||
echo ""
|
||||
echo " # 加载镜像"
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} 'docker load -i /opt/txw/images/${IMAGE_TYPE}-${VERSION}-${TIMESTAMP}.tar'"
|
||||
echo ""
|
||||
echo ">>> 3. 更新并重启服务"
|
||||
echo ""
|
||||
echo " # 停止旧容器"
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} 'docker stop ${SERVICE_NAME} || true'"
|
||||
echo ""
|
||||
echo " # 移除旧容器"
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} 'docker rm ${SERVICE_NAME} || true'"
|
||||
echo ""
|
||||
echo " # 启动新容器 (txw-all 示例)"
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} 'docker run -d \\'"
|
||||
echo " --name ${SERVICE_NAME} \\"
|
||||
echo " --restart=always \\"
|
||||
echo " -p 8080:8080 \\"
|
||||
echo " ${IMAGE_NAME}'"
|
||||
echo ""
|
||||
echo ">>> 4. 一键执行脚本 (上传后ssh内执行)"
|
||||
echo ""
|
||||
echo " ssh ${SERVER_USER}@${SERVER_HOST} << 'EOF'"
|
||||
echo " #!/bin/bash"
|
||||
echo " IMAGE_PATH=\"/opt/txw/images/${IMAGE_TYPE}-${VERSION}-${TIMESTAMP}.tar\""
|
||||
echo " "
|
||||
echo " # 加载镜像"
|
||||
echo " docker load -i \${IMAGE_PATH}"
|
||||
echo " "
|
||||
echo " # 停止并移除旧容器"
|
||||
echo " docker stop ${SERVICE_NAME} 2>/dev/null || true"
|
||||
echo " docker rm ${SERVICE_NAME} 2>/dev/null || true"
|
||||
echo " "
|
||||
echo " # 启动新容器"
|
||||
echo " docker run -d \\"
|
||||
echo " --name ${SERVICE_NAME} \\"
|
||||
echo " --restart=always \\"
|
||||
echo " -p 8080:8080 \\"
|
||||
echo " ${IMAGE_NAME}"
|
||||
echo " EOF"
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "[*] 打包文件: ${PACKAGE_FILE}"
|
||||
echo "[*] 校验文件: ${MD5_FILE}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# 执行打包
|
||||
pack_image
|
||||
12
devops/settings.xml
Normal file
12
devops/settings.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<!-- 本地仓库路径 -->
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
|
||||
<!-- 离线模式:不尝试任何网络访问 -->
|
||||
<offline>true</offline>
|
||||
|
||||
</settings>
|
||||
41
devops/start.sh
Normal file
41
devops/start.sh
Normal file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
# ============================================================
|
||||
# 碳信网 - 服务启动脚本
|
||||
# 使用方式: docker run -e SERVICE_NAME=gateway txw-all:latest
|
||||
# 或: docker run -e SERVICE_NAME=sso txw-all:latest
|
||||
# ============================================================
|
||||
|
||||
case "$SERVICE_NAME" in
|
||||
gateway)
|
||||
echo ">>> 启动 Gateway 服务 (端口 9300)"
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/gateway.jar
|
||||
;;
|
||||
sso)
|
||||
echo ">>> 启动 SSO 服务 (端口 9301)"
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/sso.jar
|
||||
;;
|
||||
mhzc)
|
||||
echo ">>> 启动 MHZC 服务 (端口 9302)"
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/mhzc.jar
|
||||
;;
|
||||
yygl)
|
||||
echo ">>> 启动 YYGL 服务 (端口 20010)"
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/yygl.jar
|
||||
;;
|
||||
all)
|
||||
echo ">>> 启动所有服务 (后台运行)..."
|
||||
# 启动所有服务作为后台进程
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/gateway.jar &
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/sso.jar &
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/mhzc.jar &
|
||||
java -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar /app/yygl.jar &
|
||||
# 等待所有后台进程
|
||||
wait
|
||||
;;
|
||||
*)
|
||||
echo ">>> 错误: 未指定服务名或服务名无效"
|
||||
echo ">>> 可用服务: gateway, sso, mhzc, yygl, all"
|
||||
echo ">>> 使用方式: docker run -e SERVICE_NAME=gateway txw-all:latest"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
39
docs/deploy.md
Normal file
39
docs/deploy.md
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
|
||||
## 方式一:一键构建传输部署
|
||||
|
||||
```bash
|
||||
# 本地执行(自动完成构建+传输+部署)
|
||||
cd e:\00项目\T_碳信网\code\txw
|
||||
bash script/build-local.sh 1.0.0-BETA root 192.168.1.100 /opt/txw/images
|
||||
|
||||
```
|
||||
|
||||
|
||||
## 方式二:分布执行
|
||||
```bash
|
||||
# Step 1: 本地构建
|
||||
cd txw-gateway && bash devops/build.sh 1.0.0-BETA
|
||||
# ... 其他服务同理
|
||||
|
||||
# Step 2: 打包并传输
|
||||
bash script/build-local.sh 1.0.0-BETA root 服务器IP /opt/txw/images
|
||||
|
||||
# Step 3: 服务器部署
|
||||
ssh root@服务器IP
|
||||
bash /opt/txw/images/deploy.sh 1.0.0-BETA redeploy
|
||||
```
|
||||
|
||||
|
||||
## 方式三:使用 docker-compose
|
||||
|
||||
```bash
|
||||
# 本地构建所有镜像
|
||||
for svc in gateway sso mhzc yygl gxzx; do
|
||||
cd $svc && docker build -t ${svc}:1.0.0-BETA -f devops/Dockerfile . && cd ..
|
||||
done
|
||||
|
||||
# 本地启动(需要先修改 docker-compose.yml 中的环境变量)
|
||||
cd script && docker-compose up -d
|
||||
|
||||
```
|
||||
12
txw-gateway/devops/settings-offline.xml
Normal file
12
txw-gateway/devops/settings-offline.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<!-- 本地仓库路径 -->
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
|
||||
<!-- 离线模式:不尝试任何网络访问 -->
|
||||
<offline>true</offline>
|
||||
|
||||
</settings>
|
||||
@ -50,6 +50,9 @@
|
||||
<goals>
|
||||
<goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
|
||||
</goals>
|
||||
<configuration>
|
||||
<mainClass>com.css.txw.gateway.app.DevAppStarter</mainClass>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
27
txw-gateway/src/main/resources/bootstrap-prod.yml
Normal file
27
txw-gateway/src/main/resources/bootstrap-prod.yml
Normal file
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
27
txw-gateway/src/main/resources/bootstrap-test.yml
Normal file
27
txw-gateway/src/main/resources/bootstrap-test.yml
Normal file
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
@ -30,7 +30,7 @@
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
@ -91,6 +91,7 @@
|
||||
<version>${spring.boot.version}</version>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
<mainClass>com.css.txw.gxzx.app.DevAppStarter</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@ -8,7 +8,8 @@
|
||||
"dev:mock": "cross-env VUE_APP_MOCK=true nodemon -x vue-cli-service serve",
|
||||
"serve": "vue-cli-service serve",
|
||||
"build:site": "vue-cli-service build",
|
||||
"build": "vue-cli-service build",
|
||||
|
||||
"build": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build",
|
||||
"build:site:dev": "vue-cli-service build --mode development",
|
||||
"build:site:test": "vue-cli-service build --mode test",
|
||||
"lint": "vue-cli-service lint",
|
||||
|
||||
129
txw-mhzc-web/public/docs/typical-scenario.md
Normal file
129
txw-mhzc-web/public/docs/typical-scenario.md
Normal file
@ -0,0 +1,129 @@
|
||||
# **碳身份使用典型场景介绍**
|
||||
|
||||
碳身份(CID)是企业、产品、碳报告在区块链上的唯一可信数字身份证,依托碳证中心存证、确权、托管,通过验碳中心核验、质证、溯源,让碳数据来源可溯、过程可信、结果可证,一站式满足碳管理、合规出海、绿色金融、供应链可信协同需求。
|
||||
|
||||
## **一** **、** **产品碳足迹与出口合规场景**
|
||||
|
||||
**基于碳身份,打通产品出海绿色通关路**
|
||||
|
||||
**适用对象:** 出口制造企业、电池/ 钢铁 / 水泥 / 化工企业
|
||||
|
||||
**核心价值:** 应对欧盟CBAM、电池法规,降低跨境合规成本
|
||||
|
||||
企业在碳证中心为产品生成碳足迹CID,覆盖从原料、生产、运输到回收全阶段数据存证。
|
||||
|
||||
- 碳足迹全链路可追溯,满足国际碳披露标准
|
||||
|
||||
- 验碳中心提供第三方核验,报告国际认可度更高
|
||||
|
||||
- 出口申报时直接出示碳身份凭证,快速通过碳核查
|
||||
|
||||
- 避免因碳数据不透明导致的关税增加、订单受阻
|
||||
|
||||
## **二、企业组织碳管理场景**
|
||||
|
||||
**让企业碳数据上链可信、** **核查高效**
|
||||
|
||||
**适用对象:** 重点用能单位、控排企业、园区等
|
||||
|
||||
**核心价值:** 碳数据不可篡改、核查一次通行、监管可信认可
|
||||
|
||||
企业将组织碳核算报告、年度碳报告、核查报告、碳配额数据在碳证中心完成上链存证,自动生成专属碳身份(CID)。
|
||||
|
||||
- 碳数据全生命周期留痕,杜绝篡改风险
|
||||
|
||||
- 监管、核查机构可直接链上核验
|
||||
|
||||
- 碳报告、核查结论一键生成可信凭证,支持下载与分享
|
||||
|
||||
## **三** **、** **环境声明场景**
|
||||
|
||||
**环境声明****上链存证,绿色品质一证可见**
|
||||
|
||||
**适用对象:** 建材、消费品、绿色产品认证企业等
|
||||
|
||||
**核心价值:** 环境声明报告可信存证、市场采信度提升
|
||||
|
||||
企业将环境声明 报告、LCA 分析、第三方审核结果在碳证中心托管并上链,生成 环境声明 专属碳身份。
|
||||
|
||||
- 报告不可篡改,审核过程全记录
|
||||
|
||||
- 采购方、业主、认证机构扫码即可验真
|
||||
|
||||
- 用于绿色采购、投标、市场宣传更具公信力
|
||||
|
||||
- 支持全生命周期溯源,强化产品绿色竞争力
|
||||
|
||||
## **四** **、** **ESG 信息披露与资本市场可信场景**
|
||||
|
||||
**碳身份为 ESG 背书,让披露更可信**
|
||||
|
||||
**适用对象:** 上市公司、发债企业、品牌企业等
|
||||
|
||||
**核心价值:** ESG 碳数据可验、披露可信、投资更放心
|
||||
|
||||
企业将ESG 报告、碳绩效数据、减排证明在碳证中心完成可信存证。
|
||||
|
||||
- 碳数据链上固化,提升 ESG 报告真实性
|
||||
|
||||
- 投资者、券商、评级机构可在线核验
|
||||
|
||||
- 验碳中心对质疑数据快速核验,提升公信力
|
||||
|
||||
- 助力绿色评级、融资、品牌形象提升
|
||||
|
||||
## **五** **、CBAM 欧盟碳边境调节机制场景**
|
||||
|
||||
**CBAM 上链存证,出海欧盟更安心**
|
||||
|
||||
**适用对象:** 钢铁、水泥、铝、电力、化肥等出口欧盟企业
|
||||
|
||||
**核心价值:** CBAM 申报可信、数据可验、海关认可、降低碳关税
|
||||
|
||||
企业将CBAM 申报数据、产品碳排放报告、全流程核算材料在碳证中心统一存证、托管,生成CBAM 专属碳身份(CID)。
|
||||
|
||||
- 申报数据上链不可篡改,满足欧盟海关核验要求
|
||||
|
||||
- 核算过程、数据来源、排放因子全程可追溯
|
||||
|
||||
- 验碳中心提供权威核验,提升申报材料采信度
|
||||
|
||||
- 支持申报材料一键导出、扫码验真,应对海关核查
|
||||
|
||||
- 减少重复核算、现场核验、数据补报成本
|
||||
|
||||
## **六、** **绿色金融与碳资产质押场景**
|
||||
|
||||
**碳身份做担保,绿色金融更顺畅**
|
||||
|
||||
适用对象:申请绿色信贷、碳质押、绿色保险的企业
|
||||
|
||||
核心价值:碳资产确权、数据可信、融资更快
|
||||
|
||||
企业通过碳证中心为碳资产、碳减排量、碳报告确权存证,形成金融机构认可的可信凭证。
|
||||
|
||||
- 银行、保险机构可直接核验碳数据真实性
|
||||
|
||||
- 减少尽调时间,降低融资门槛与成本
|
||||
|
||||
- 碳资产确权清晰,便于质押、交易、流转
|
||||
|
||||
- 助力获得绿色信贷、绿色债券、碳质押融资
|
||||
|
||||
## **七、供应链碳可信协同场景**
|
||||
|
||||
**基于可信碳链,贯通全供应链低碳信任**
|
||||
|
||||
**适用对象:** 核心企业、一级 / 二级供应商
|
||||
|
||||
**核心价值:** 供应链碳数据互认、减排可追溯、低碳采购
|
||||
|
||||
核心企业要求供应商在碳证中心办理碳身份,上传碳足迹、碳报告。
|
||||
|
||||
- 供应链上下游碳数据统一标准、统一存证
|
||||
|
||||
- 采购方可一键核验供应商碳数据真伪
|
||||
|
||||
- 减排成果可追溯、可量化、可采信
|
||||
|
||||
- 支撑低碳采购、绿色供应链评级
|
||||
@ -195,14 +195,14 @@ export default {
|
||||
content: '碳服务市场',
|
||||
divider: true,
|
||||
},
|
||||
{
|
||||
name: 'tjrsc',
|
||||
title: '碳金融市场',
|
||||
value: 'tjrsc',
|
||||
content: '碳金融市场',
|
||||
divider: true,
|
||||
parentName: 'fwsc',
|
||||
},
|
||||
// {
|
||||
// name: 'tjrsc',
|
||||
// title: '碳金融市场',
|
||||
// value: 'tjrsc',
|
||||
// content: '碳金融市场',
|
||||
// divider: true,
|
||||
// parentName: 'fwsc',
|
||||
// },
|
||||
{
|
||||
name: 'txqsc',
|
||||
title: '碳需求市场',
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
<div class="secondary-nav-content">
|
||||
<div class="nav-tabs">
|
||||
<button v-for="tab in navTabs" :key="tab.path" :class="['nav-tab', { active: isActiveTab(tab.path) }]"
|
||||
@click="goToTab(tab.path)">
|
||||
@click="goToTab(tab)">
|
||||
{{ tab.label }}
|
||||
</button>
|
||||
</div>
|
||||
@ -196,8 +196,8 @@ export default {
|
||||
navTabs: [
|
||||
{ label: '碳服务市场', path: '/tfwsc' },
|
||||
{ label: '碳需求市场', path: '/txqsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc' },
|
||||
{ label: '碳数据市场', path: '/tsjsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc', disable: true },
|
||||
],
|
||||
// 筛选条件
|
||||
filter: {
|
||||
@ -429,7 +429,7 @@ export default {
|
||||
handleContact(card) {
|
||||
this.contactData = {
|
||||
lxr: card.lxr || '',
|
||||
lxdh: card.lxdh || '',
|
||||
lxdh: card.lxrdh || '',
|
||||
email: card.email || '',
|
||||
};
|
||||
this.contactVisible = true;
|
||||
@ -442,7 +442,11 @@ export default {
|
||||
isActiveTab(path) {
|
||||
return this.$route.path === path;
|
||||
},
|
||||
goToTab(path) {
|
||||
goToTab({path, disable}) {
|
||||
if (disable) {
|
||||
this.$message.info('敬请期待');
|
||||
return
|
||||
}
|
||||
this.$router.push(path);
|
||||
},
|
||||
// 弹窗回调
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
<div class="service-card" @click="goToPage('/tfwsc')">
|
||||
<div class="service-card-inner">
|
||||
<div class="service-card-header blue-header">
|
||||
<span class="service-card-num">01</span>
|
||||
<!-- <span class="service-card-num">01</span> -->
|
||||
<h3 class="service-card-title">碳服务市场</h3>
|
||||
</div>
|
||||
<p class="service-card-desc">汇聚全国优质第三方服务机构,提供从核算到认证的全链条专业服务。</p>
|
||||
@ -44,7 +44,7 @@
|
||||
<div class="service-card" @click="goToPage('/txqsc')">
|
||||
<div class="service-card-inner">
|
||||
<div class="service-card-header green-header">
|
||||
<span class="service-card-num">02</span>
|
||||
<!-- <span class="service-card-num">02</span> -->
|
||||
<h3 class="service-card-title">碳需求市场</h3>
|
||||
</div>
|
||||
<p class="service-card-desc">企业发布真实服务采购需求,智能匹配靠谱服务商,杜绝中间商差价。</p>
|
||||
@ -55,26 +55,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 碳金融市场 -->
|
||||
<div class="service-card" @click="goToPage('/tjrsc')">
|
||||
<div class="service-card-inner">
|
||||
<div class="service-card-header cyan-header">
|
||||
<span class="service-card-num">03</span>
|
||||
<h3 class="service-card-title">碳金融市场</h3>
|
||||
</div>
|
||||
<p class="service-card-desc">打通"碳"与"钱"的通道。提供碳质押、碳回购、绿色信贷及碳基金对接服务。</p>
|
||||
<div class="service-card-buttons">
|
||||
<t-button theme="primary" @click.stop="goToPage('/tjrsc')">查看金融产品</t-button>
|
||||
<!-- <t-button theme="primary" @click.stop="goToPage('/tjrsc')">金融机构入驻</t-button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 碳数据市场 -->
|
||||
<div class="service-card" @click="goToPage('/tsjsc')">
|
||||
<div class="service-card-inner">
|
||||
<div class="service-card-header purple-header">
|
||||
<span class="service-card-num">04</span>
|
||||
<!-- <span class="service-card-num">04</span> -->
|
||||
<h3 class="service-card-title">碳数据市场</h3>
|
||||
</div>
|
||||
<p class="service-card-desc">合规高效的碳数据流转平台。包括公共数据、社会性数据、因子库等多类数据库。</p>
|
||||
@ -84,6 +69,21 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 碳金融市场 -->
|
||||
<div class="service-card" @click="goToPage()">
|
||||
<div class="service-card-inner">
|
||||
<div class="service-card-header cyan-header">
|
||||
<!-- <span class="service-card-num">03</span> -->
|
||||
<h3 class="service-card-title">碳金融市场</h3>
|
||||
</div>
|
||||
<p class="service-card-desc">打通"碳"与"金融"的通道。提供碳质押、碳回购、绿色信贷及碳基金对接服务。</p>
|
||||
<div class="service-card-buttons">
|
||||
<t-button theme="default" variant="base" @click.stop="goToPage()">查看金融产品</t-button>
|
||||
<!-- <t-button theme="primary" @click.stop="goToPage('/tjrsc')">金融机构入驻</t-button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -107,7 +107,11 @@ export default {
|
||||
this.$router.push('/view/mhzc/home');
|
||||
},
|
||||
goToPage(path) {
|
||||
this.$router.push(path);
|
||||
if (path) {
|
||||
this.$router.push(path);
|
||||
} else {
|
||||
this.$message.info('敬请期待');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@ -340,7 +340,7 @@ export default {
|
||||
navTabs: [
|
||||
{ label: '碳服务市场', path: '/tfwsc' },
|
||||
{ label: '碳需求市场', path: '/txqsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc' },
|
||||
// { label: '碳金融市场', path: '/tjrsc' },
|
||||
{ label: '碳数据市场', path: '/tsjsc' },
|
||||
],
|
||||
// 产品类型选项
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<div class="secondary-nav-content">
|
||||
<div class="nav-tabs">
|
||||
<button v-for="tab in navTabs" :key="tab.path" :class="['nav-tab', { active: isActiveTab(tab.path) }]"
|
||||
@click="goToTab(tab.path)">
|
||||
@click="goToTab(tab)">
|
||||
{{ tab.label }}
|
||||
</button>
|
||||
</div>
|
||||
@ -107,8 +107,8 @@ export default {
|
||||
navTabs: [
|
||||
{ label: '碳服务市场', path: '/tfwsc' },
|
||||
{ label: '碳需求市场', path: '/txqsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc' },
|
||||
{ label: '碳数据市场', path: '/tsjsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc', disable: true },
|
||||
],
|
||||
selectedType: 'all',
|
||||
dataTypeList: [
|
||||
@ -169,7 +169,11 @@ export default {
|
||||
isActiveTab(path) {
|
||||
return this.$route.path === path;
|
||||
},
|
||||
goToTab(path) {
|
||||
goToTab({path, disable}) {
|
||||
if (disable) {
|
||||
this.$message.info('敬请期待');
|
||||
return
|
||||
}
|
||||
this.$router.push(path);
|
||||
},
|
||||
handlePublish() {
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
v-for="tab in navTabs"
|
||||
:key="tab.path"
|
||||
:class="['nav-tab', { active: isActiveTab(tab.path) }]"
|
||||
@click="goToTab(tab.path)"
|
||||
@click="goToTab(tab)"
|
||||
>
|
||||
{{ tab.label }}
|
||||
</button>
|
||||
@ -224,8 +224,8 @@ export default {
|
||||
navTabs: [
|
||||
{ label: '碳服务市场', path: '/tfwsc' },
|
||||
{ label: '碳需求市场', path: '/txqsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc' },
|
||||
{ label: '碳数据市场', path: '/tsjsc' },
|
||||
{ label: '碳金融市场', path: '/tjrsc', disable: true },
|
||||
],
|
||||
// 筛选条件
|
||||
filter: {
|
||||
@ -410,7 +410,11 @@ export default {
|
||||
isActiveTab(path) {
|
||||
return this.$route.path === path;
|
||||
},
|
||||
goToTab(path) {
|
||||
goToTab({path, disable}) {
|
||||
if (disable) {
|
||||
this.$message.info('敬请期待');
|
||||
return
|
||||
}
|
||||
this.$router.push(path);
|
||||
},
|
||||
// 弹窗回调
|
||||
|
||||
@ -63,8 +63,8 @@
|
||||
<div class="card-body">
|
||||
<div class="card-btn" @click="handleNavigate(buttonLinks['服务市场'])">服务市场</div>
|
||||
<div class="card-btn" @click="handleNavigate(buttonLinks['需求市场'])">需求市场</div>
|
||||
<div class="card-btn" @click="handleNavigate(buttonLinks['金融市场'])">金融市场</div>
|
||||
<div class="card-btn" @click="handleNavigate(buttonLinks['数据市场'])">数据市场</div>
|
||||
<div class="card-btn" @click="handleNavigate(buttonLinks['金融市场'])">金融市场</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -140,7 +140,7 @@
|
||||
<span class="overseas2-item-desc">{{ item.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="overseas2-btn">{{ item.btnName }}</div>
|
||||
<div class="overseas2-btn" @click="openNewTab(item.link)">{{ item.btnName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -322,9 +322,9 @@ export default {
|
||||
hotSearchTags: ["碳核查", "ESG", "碳资产管理", "ISO 14067"],
|
||||
// 企业出海数据
|
||||
overseas2List: [
|
||||
{ name: '电池法案', btnName: "申请服务", desc: "欧盟电池法案管控电池全生命周期,涉及回收、碳足迹等要求。", icon: require('@/pages/index/assets/home-dcfa-icon.png') },
|
||||
{ name: 'CBAM', btnName: "CBAM\n试算", desc: "欧盟对进口高碳产品按隐含排放征收碳关税。", icon: require('@/pages/index/assets/home-cbam-icon.png') },
|
||||
{ name: '航运燃料', btnName: "申请服务", desc: "从化石油基向LNG、绿甲醇、绿氨等多元低碳方向加速转型。", icon: require('@/pages/index/assets/home-hyrl-icon.png') }
|
||||
{ name: '电池法案', btnName: "申请服务", link: '', desc: "欧盟电池法案管控电池全生命周期,用碳足迹、电池护照、再生料、回收、供应链尽调设硬性准入门槛,强制绿色循环。", icon: require('@/pages/index/assets/home-dcfa-icon.png') },
|
||||
{ name: 'CBAM', btnName: "CBAM\n试算", link: 'https://www.ouyeel.com/cbam/login', desc: "欧盟对进口高碳产品按隐含排放征收碳关税。", icon: require('@/pages/index/assets/home-cbam-icon.png') },
|
||||
{ name: '航运燃料', btnName: "申请服务", link: '', desc: "从化石油基向LNG、绿甲醇、绿氨等多元低碳方向加速转型。", icon: require('@/pages/index/assets/home-hyrl-icon.png') }
|
||||
],
|
||||
// 行业动态tabs配置
|
||||
newsTabs: [
|
||||
@ -366,7 +366,7 @@ export default {
|
||||
// 绿色服务
|
||||
'服务市场': '/tfwsc',
|
||||
'需求市场': '/txqsc',
|
||||
'金融市场': '/tjrsc',
|
||||
'金融市场': '',
|
||||
'数据市场': '/tsjsc',
|
||||
},
|
||||
};
|
||||
@ -453,7 +453,11 @@ export default {
|
||||
}, 800);
|
||||
},
|
||||
openNewTab(url) {
|
||||
window.open(url);
|
||||
if (url) {
|
||||
window.open(url);
|
||||
} else {
|
||||
this.$message.info('敬请期待');
|
||||
}
|
||||
},
|
||||
openService() {
|
||||
window.open('http://carbon_did.liantu.tech/');
|
||||
@ -1397,7 +1401,7 @@ export default {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #666;
|
||||
white-space: nowrap;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.overseas2-btn {
|
||||
@ -1405,6 +1409,7 @@ export default {
|
||||
border-radius: 4px;
|
||||
width: 72px;
|
||||
height: 72px;
|
||||
min-width: 72px;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<div class="hyzt-wrap">
|
||||
<div class="banner">
|
||||
<div class="word">行业专题</div>
|
||||
<button class="desc">查看绿色低碳政策动态、行业碳数据与推荐服务</button>
|
||||
<!-- <button class="desc">查看绿色低碳政策动态、行业碳数据与推荐服务</button> -->
|
||||
</div>
|
||||
<div class="hyzt-list-wrap">
|
||||
<div class="hyzt-list">
|
||||
@ -54,7 +54,11 @@ export default {
|
||||
}
|
||||
},
|
||||
goToHref(href) {
|
||||
window.open(href);
|
||||
if (href) {
|
||||
window.open(href);
|
||||
} else {
|
||||
this.$message.info('敬请期待');
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -53,18 +53,15 @@
|
||||
<div class="text-section-content">
|
||||
<div class="content-item1">
|
||||
<ul class="info-list">
|
||||
<li>核心条款:碳足迹、回收目标、可追溯性等</li>
|
||||
<li>时间表:阶段性实施节点与过渡安排</li>
|
||||
<li>
|
||||
适用电池类别:便携式、启动 / 照明 /
|
||||
点火(SLI)、轻型电动交通工具(LMT)、电动汽车(EV)、工业电池;覆盖欧盟境内生产或进口、单独或嵌入整机的电池,军事
|
||||
/ 航天 / 核能等除外。
|
||||
</li>
|
||||
<li>经济运营商:制造商、生产商、进口商、分销商均需承担合规义务。</li>
|
||||
<li>
|
||||
布局数字护照与二维码:在 2026-05 前完成>2 kWh 电池的数字护照注册,并为所有电池配置二维码与 CE
|
||||
标志。
|
||||
</li>
|
||||
<div>法案核心:用碳足迹、电池护照、再生料、回收、供应链尽调设硬性准入门槛,强制绿色循环。</div>
|
||||
<div>时间表:阶段性实施节点与过渡安排</div>
|
||||
<li> 2024 年 2 月 18 日 法案核心条款正式实施,旧电池指令部分废止;有害物质基础限量、电池安全与耐久性基础要求生效。 </li>
|
||||
<li> 2024 年 8 月 18 日 便携式电池铅含量强制限量生效;储能系统安全合规要求生效;电池性能与耐久性技术文件强制要求生效</li>
|
||||
<li> 2025 年 2 月 18 日 EV 动力电池强制碳足迹声明要求生效 </li>
|
||||
<div>核心关键词解读</div>
|
||||
<li>EU 2023/1542:欧盟新电池法的正式法规编号,是具备直接法律效力的欧盟条例,无需成员国转化为本国法律,全欧盟统一适用,违规处罚标准由各成员国同步制定。</li>
|
||||
<li>全生命周期监管:法案核心监管逻辑,区别于旧指令仅聚焦末端回收和有害物质管控,新规覆盖电池从原材料开采、生产制造、运输销售、使用维护,到废弃回收、材料再生的全链条全环节。</li>
|
||||
<li>PEF(产品环境足迹):欧盟制定的产品全生命周期环境影响核算方法,是电池碳足迹核算的唯一合规标准,明确了核算边界、方法学、数据质量要求。</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content-item2">
|
||||
@ -73,14 +70,18 @@
|
||||
<div style="height: calc(100% - 50px)">
|
||||
<div class="service-card card1">
|
||||
<div class="card-item1">
|
||||
<h4>电池碳足迹核算系统</h4>
|
||||
<p>生成产品碳足迹报告</p>
|
||||
<div>
|
||||
<h4>电池碳足迹核算系统</h4>
|
||||
<p>生成产品碳足迹报告</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-card card2">
|
||||
<div class="card-item2">
|
||||
<h4>电池出口合规检测系统</h4>
|
||||
<p>合规检测与留存</p>
|
||||
<div>
|
||||
<h4>电池出口合规检测系统</h4>
|
||||
<p>合规检测与留存</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -107,15 +108,15 @@
|
||||
<div class="text-section-content">
|
||||
<div class="content-item1">
|
||||
<ul class="info-list">
|
||||
<li>分行业(钢铁、水泥等)解读申报要求;运营后台支持富文本维护</li>
|
||||
<li>成本随欧盟碳价波动,直接抬升高碳进口门槛;合规与透明度成为准入关键。</li>
|
||||
<li>与欧盟 ETS、新电池法案、能效与关键原材料政策联动,形成系统约束。</li>
|
||||
<li>国际扩散加速:英国拟 2027 年实施;美国虽联邦碳定价未定,但多提案推进,中长期风险上升。</li>
|
||||
<li>
|
||||
欧盟 CBAM 已自 2023-10-01 进入过渡期,2026-01-01
|
||||
起对水泥、钢铁、铝、化肥、电力等产品按实际隐含碳排放征收调节费,并与欧盟 ETS
|
||||
免费配额退出同步实施,旨在防止碳泄漏、巩固本土减排成效。
|
||||
</li>
|
||||
<div>CBAM核心:通过对标本土碳市场定价,对进口高碳产品征收碳成本差额,拉平跨境碳成本,防范碳泄漏,推动全球产业链低碳转型。</div>
|
||||
<div>时间表:阶段性实施节点与过渡安排</div>
|
||||
<li>2023年5月10日 | 正式立法 | 欧盟议会与理事会正式通过 Regulation (EU) 2023/956 号 CBAM 条例</li>
|
||||
<li>2026年1月1日起 | 正式实施期(确定制度阶段) | 全面进入 “申报 + 缴费” 双强制阶段,授权申报人制度落地,进口商需购买并清缴 CBAM 证书;</li>
|
||||
<li>2028年起 | 扩围实施期 | 计划纳入 180 余种钢铝密集型下游产品,管控范围向产业链下游延伸</li>
|
||||
<div>核心关键词解读</div>
|
||||
<li>碳泄漏(Carbon Leakage): CBAM 的核心立法动因,指欧盟企业为规避本土 ETS 高昂的碳成本,将高碳生产环节转移至碳排放管控宽松、碳价更低的国家 / 地区,导致欧盟减排成果被抵消、全球碳排放总量不降反升的现象。</li>
|
||||
<li>EU ETS(欧盟碳排放交易体系): 欧盟境内核心碳定价机制,也是 CBAM 的定价基准。CBAM 证书价格完全对标 ETS 配额的拍卖价格,确保进口产品与欧盟本土产品承担完全同等的碳成本</li>
|
||||
<li>CBAM 证书(CBAM Certificate): 欧盟成员国主管机构发行的电子凭证,是进口商清缴碳排放成本的唯一合法载体。进口商需按年度核算的碳排放量,购买对应数量的证书并完成清缴,未清缴部分将触发高额处罚</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content-item2">
|
||||
@ -124,14 +125,21 @@
|
||||
<div style="height: calc(100% - 50px)">
|
||||
<div class="service-card card1">
|
||||
<div class="card-item1">
|
||||
<h4>CBAM 申报辅助系统</h4>
|
||||
<p>材料整理与填报指导</p>
|
||||
<div class="card-text">
|
||||
<h4>CBAM 辅助核算系统</h4>
|
||||
<p>助力企业快速填报碳排放数据</p>
|
||||
</div>
|
||||
<div class="open-page" @click="goPage('https://www.ouyeel.com/cbam/login')">
|
||||
立即申请
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-card card2">
|
||||
<div class="card-item2">
|
||||
<h4>CBAM 碳成本测算系统</h4>
|
||||
<p>测算进口碳成本</p>
|
||||
<div>
|
||||
<h4>CBAM 碳成本测算系统</h4>
|
||||
<p>测算进口碳成本</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -157,23 +165,15 @@
|
||||
<div class="text-section-content">
|
||||
<div class="content-item1">
|
||||
<ul class="info-list">
|
||||
<li>国际海事组织(IMO)燃料碳排放要求与合规路径简介</li>
|
||||
<li>
|
||||
数据与报告:建立年度 WTW 碳强度台账,覆盖燃料采购、消耗与排放;欧盟需于每年 1 月 31
|
||||
日前提交并第三方核查。国际海事组织(IMO)燃料碳排放要求与合规路径简介
|
||||
</li>
|
||||
<li>
|
||||
技术与燃料路径:优先 OPS、可再生 / 低碳燃料(先进生物燃料、RFNBOs)与能效提升;欧盟允许合规池与
|
||||
"技术中性" 合规。
|
||||
</li>
|
||||
<li>
|
||||
数据与报告:建立年度 WTW 碳强度台账,覆盖燃料采购、消耗与排放;欧盟需于每年 1 月 31
|
||||
日前提交并第三方核查。国际海事组织(IMO)燃料碳排放要求与合规路径简介
|
||||
</li>
|
||||
<li>
|
||||
技术与燃料路径:优先 OPS、可再生 / 低碳燃料(先进生物燃料、RFNBOs)与能效提升;欧盟允许合规池与
|
||||
"技术中性" 合规。
|
||||
</li>
|
||||
<div>航运燃料低碳政策已形成全球统一规则、区域强监管、各国落地细则的三层治理体系,核心通过全生命周期碳排放管控与刚性约束,推动航运业低碳燃料替代与净零排放转型。</div>
|
||||
<div>时间表:阶段性实施节点与过渡安排</div>
|
||||
<li>2023年7月, IMO 发布修订版《船舶温室气体减排战略》, 确立全球航运 2050 年前后净零排放的顶层里程碑</li>
|
||||
<li>2025年4月, 中国十部门发布《交通运输与能源融合发展指导意见》, 明确航运绿色燃料全链条发展支持政策</li>
|
||||
<li>2026年, 欧盟 EU ETS 取消航运业全部免费碳配额, 航运企业碳排放成本完全自担,倒逼燃料低碳转型加速</li>
|
||||
<div>核心关键词解读</div>
|
||||
<li>NZF / 净零框架:IMO《净零框架》,全球首个航运强制减排与碳定价结合的统一规则,核心管控船用燃料全生命周期碳排放</li>
|
||||
<li>GFI / 燃料温室气体强度:IMO 净零框架核心考核指标,核算单位船用燃料全生命周期的温室气体排放量</li>
|
||||
<li>全生命周期碳排放(LCA):低碳燃料合规性认证的核心方法,用于杜绝燃料「漂绿」行为</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content-item2">
|
||||
@ -182,14 +182,24 @@
|
||||
<div style="height: calc(100% - 50px)">
|
||||
<div class="service-card card1">
|
||||
<div class="card-item1">
|
||||
<h4>系统占位</h4>
|
||||
<p>字段占位字段占位字段占位</p>
|
||||
<div>
|
||||
<h4>海事 “一网通办”</h4>
|
||||
<p>上海港船舶低碳合规政务官方办理入口</p>
|
||||
</div>
|
||||
<div class="open-page" @click="goPage('https://zwfw.msa.gov.cn/')">
|
||||
立即访问
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-card card2">
|
||||
<div class="card-item2">
|
||||
<h4>系统占位</h4>
|
||||
<p>字段占位字段占位字段占位</p>
|
||||
<div>
|
||||
<h4>国际航运绿色能源认证平台</h4>
|
||||
<p>航运绿色燃料全链条认证合规服务平台</p>
|
||||
</div>
|
||||
<div class="open-page" @click="goPage('https://www.lingang.gov.cn/')">
|
||||
立即访问
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -245,6 +255,13 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
goPage(url) {
|
||||
if (url) {
|
||||
window.open(url);
|
||||
} else {
|
||||
this.$message.info('敬请期待')
|
||||
}
|
||||
},
|
||||
setNavActive(idx) {
|
||||
console.log('idx');
|
||||
this.navList = this.navList.map((item, index) => ({
|
||||
@ -504,8 +521,22 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #fffaf6 0%, #fff0e3 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
cursor: pointer;
|
||||
}
|
||||
.card-text {
|
||||
flex: 1;
|
||||
h4 {
|
||||
font-size: 22px;
|
||||
color: #1a1b24;
|
||||
}
|
||||
p {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
.card-item2 {
|
||||
display: flex;
|
||||
@ -513,8 +544,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #ebfcff 0%, #daf9fc 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -528,6 +560,18 @@ body {
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.open-page {
|
||||
flex-shrink: 0;
|
||||
white-space: nowrap;
|
||||
padding: 8px 16px;
|
||||
background: linear-gradient(180deg, #99d2fe 0%, #2196f3 100%);
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* 模块样式 */
|
||||
.module {
|
||||
max-width: 1300px;
|
||||
@ -638,8 +682,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #f5f4ff 0%, #ebe8ff 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.card-item2 {
|
||||
display: flex;
|
||||
@ -647,8 +692,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #f0f9ff 0%, #e0efff 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -724,8 +770,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #fffaf6 0%, #fff0e3 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.card-item2 {
|
||||
display: flex;
|
||||
@ -733,8 +780,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #ebfcff 0%, #daf9fc 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -818,8 +866,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #f0f9ff 0%, #e0efff 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
}
|
||||
.card-item2 {
|
||||
display: flex;
|
||||
@ -827,8 +876,9 @@ body {
|
||||
padding: 20px;
|
||||
background-image: linear-gradient(180deg, #ebfcff 0%, #daf9fc 100%);
|
||||
border-radius: 6px;
|
||||
flex-direction: column;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -878,18 +928,26 @@ body {
|
||||
|
||||
/* 列表样式 */
|
||||
.info-list {
|
||||
padding: 30px 20px;
|
||||
padding: 20px 20px;
|
||||
list-style: none;
|
||||
height: max-content;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.info-list > div {
|
||||
font-size: 16px;
|
||||
line-height: 26px;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
.info-list li {
|
||||
position: relative;
|
||||
|
||||
/* padding: 25px; */
|
||||
padding-left: 20px;
|
||||
margin-bottom: 6px;
|
||||
font-size: 15px;
|
||||
line-height: 24px;
|
||||
margin-bottom: 4px;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
letter-spacing: 0;
|
||||
color: #000;
|
||||
text-align: justify;
|
||||
@ -924,7 +982,7 @@ body {
|
||||
}
|
||||
.card-item1 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
height: 100%;
|
||||
padding: 20px;
|
||||
|
||||
@ -38,8 +38,8 @@ export default {
|
||||
{
|
||||
title: '钢铁行业',
|
||||
href: 'https://www.greenscs.com/',
|
||||
category: ['碳动态', '碳数据', '服务入口'],
|
||||
desc: '行业碳动态、数据与服务对接',
|
||||
category: ['LCA', 'EPD', 'CBAM'],
|
||||
desc: '构建符合中国国情、衔接国际规则的绿色低碳供应链管理体系,为企业提供全方位的碳减排综合解决方案。',
|
||||
bgImg: '1.png',
|
||||
icon: 'icon1.png',
|
||||
id: '1',
|
||||
@ -47,17 +47,17 @@ export default {
|
||||
{
|
||||
title: '装备制造',
|
||||
href: 'https://ssc.shanghai-electric.com/',
|
||||
category: ['碳动态', '碳数据', '服务入口'],
|
||||
desc: '行业碳动态、数据与服务对接',
|
||||
category: ['产品碳足迹', '绿色供应链'],
|
||||
desc: '以"扎根装备制造、实施数字赋能、推动创新转型"为导向,推进能源与工业企业的数智转型。',
|
||||
bgImg: '2.png',
|
||||
icon: 'icon2.png',
|
||||
id: '2',
|
||||
},
|
||||
{
|
||||
title: '航运燃料',
|
||||
href: '#',
|
||||
category: ['碳动态', '碳数据', '服务入口'],
|
||||
desc: '行业碳动态、数据与服务对接',
|
||||
href: '',
|
||||
category: ['产品碳足迹', '国际认证'],
|
||||
desc: '加强国际交流,深化绿色航运国际合作,以点带面协同推进航运绿色低碳转型发展。',
|
||||
bgImg: '3.png',
|
||||
icon: 'icon3.png',
|
||||
id: '3',
|
||||
|
||||
@ -287,14 +287,14 @@ module.exports = {
|
||||
// 会误伤 SPA 路由 /view/mhzc/...,刷新时整页请求被转发到后端导致 Proxy error。必须用 ^ 限定为路径前缀。
|
||||
proxy: {
|
||||
'^/sso': {
|
||||
target: 'http://192.168.110.29:9301',
|
||||
// target: 'http://carbon.liantu.tech',
|
||||
// target: 'http://localhost:9301',
|
||||
target: 'http://carbon.liantu.tech',
|
||||
// target: 'http://10.23.20.13:94/',
|
||||
changeOrigin: true,
|
||||
},
|
||||
'^/mhzc': {
|
||||
target: 'http://192.168.110.29:9302',
|
||||
// target: 'http://carbon.liantu.tech',
|
||||
// target: 'http://localhost:9302',
|
||||
target: 'http://carbon.liantu.tech',
|
||||
// target: 'http://10.23.20.13:94/',
|
||||
changeOrigin: true,
|
||||
},
|
||||
|
||||
37
txw-mhzc/devops/Dockerfile
Normal file
37
txw-mhzc/devops/Dockerfile
Normal file
@ -0,0 +1,37 @@
|
||||
# Stage 1: Build
|
||||
FROM maven:3.6.3-openjdk-8 AS builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# 复制 pom.xml 和 settings
|
||||
COPY txw-mhzc/pom.xml .
|
||||
COPY txw-mhzc/devops/settings-offline.xml settings.xml
|
||||
|
||||
# 复制子模块 pom.xml
|
||||
COPY txw-mhzc/txw-mhzc-service-api/pom.xml txw-mhzc-service-api/
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/pom.xml txw-mhzc-service-biz/
|
||||
|
||||
# 复制本地 Maven 仓库(从项目根目录的共享 .m2)
|
||||
COPY script/.m2/repository /root/.m2/repository
|
||||
|
||||
# 复制源码
|
||||
COPY txw-mhzc/txw-mhzc-service-api/src txw-mhzc-service-api/src
|
||||
COPY txw-mhzc/txw-mhzc-service-biz/src txw-mhzc-service-biz/src
|
||||
|
||||
# 构建(-am: 同时构建依赖模块)
|
||||
RUN mvn clean package -pl txw-mhzc-service-biz -am -DskipTests -s settings.xml -o
|
||||
|
||||
# Stage 2: Package
|
||||
FROM eclipse-temurin:8-jre-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# 复制构建产物
|
||||
COPY --from=builder /build/txw-mhzc-service-biz/target/txw-mhzc-service-biz.jar ./app.jar
|
||||
|
||||
# 清理构建缓存
|
||||
RUN rm -rf /root/.m2 /root/.mvn
|
||||
|
||||
EXPOSE 9302
|
||||
|
||||
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
||||
43
txw-mhzc/devops/build.sh
Normal file
43
txw-mhzc/devops/build.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SERVICE_NAME="txw-mhzc"
|
||||
VERSION=${1:-1.0.0-BETA}
|
||||
|
||||
# 自动检测本地 .m2 路径
|
||||
detect_local_m2() {
|
||||
if [ -d "$HOME/.m2/repository" ]; then
|
||||
echo "$HOME/.m2"
|
||||
elif [ -d "$USERPROFILE/.m2/repository" ]; then
|
||||
echo "$USERPROFILE/.m2"
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
LOCAL_M2_PATH=$(detect_local_m2)
|
||||
|
||||
echo ">>> 构建 ${SERVICE_NAME} v${VERSION} ..."
|
||||
|
||||
# 本地 .m2 副本目录
|
||||
M2_COPY_DIR="devops/.m2"
|
||||
|
||||
if [ -n "$LOCAL_M2_PATH" ] && [ -d "$LOCAL_M2_PATH/repository" ]; then
|
||||
echo ">>> 复制本地 .m2/repository 到 devops/.m2 ..."
|
||||
|
||||
rm -rf "$M2_COPY_DIR/repository"
|
||||
cp -R "$LOCAL_M2_PATH/repository" "$M2_COPY_DIR/repository"
|
||||
|
||||
echo ">>> 复制完成"
|
||||
else
|
||||
echo ">>> 错误: 未找到本地 .m2/repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 构建镜像
|
||||
docker build \
|
||||
-t ${SERVICE_NAME}:${VERSION} \
|
||||
-t ${SERVICE_NAME}:latest \
|
||||
-f devops/Dockerfile .
|
||||
|
||||
echo ">>> 构建完成: ${SERVICE_NAME}:${VERSION}"
|
||||
12
txw-mhzc/devops/settings-offline.xml
Normal file
12
txw-mhzc/devops/settings-offline.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<!-- 本地仓库路径 -->
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
|
||||
<!-- 离线模式:不尝试任何网络访问 -->
|
||||
<offline>true</offline>
|
||||
|
||||
</settings>
|
||||
@ -30,7 +30,7 @@
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
151
txw-mhzc/sql/服务中心_insert.sql
Normal file
151
txw-mhzc/sql/服务中心_insert.sql
Normal file
@ -0,0 +1,151 @@
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '绿色企业认定', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '提供企业绿色属性全面评估与认证服务,通过多维度指标核查企业碳排放表现、环境管理水平和可持续发展能力,颁发权威绿色企业资质证书,适用于绿色信贷、招投标等商业场景', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '绿色项目认定', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '对项目的碳减排效果进行量化评估与认证,核验项目方法学适用性,核算实际产生的碳资产价值,出具符合国内外标准的绿色项目认定报告,支撑项目融资与碳资产开发', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '中小企业环境信息披露', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '联合征信', NULL, NULL, NULL, '协助企业完成环境信息合规披露,涵盖碳排放数据核算、ESG信息编制及监管上报,满足上市公司和出口企业的碳信息披露要求,提升企业ESG评级与市场竞争力', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '碳资产管理平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '提供碳资产全生命周期数字化管理服务,支持碳排放权配额登记、国际碳信用(CCER等)管理、交易撮合、结算清缴等功能,助力企业实现碳资产保值增值', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '碳交易最优策略模拟平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '基于大数据与AI算法构建碳交易策略模型,模拟不同市场情景下的交易收益,辅助企业制定碳资产配置方案,优化买入卖出时机,降低履约成本并提升碳资产收益', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'CCER 碳资产开发平台解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '零数科技', NULL, NULL, NULL, '辅助企业开发核证自愿减排量(CCER)项目,覆盖减排方法学选择、项目设计、第三方审定、减排量核查及国家发改委签发全流程,提供项目全周期管理与价值评估', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 辅助核算系统', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '依据欧盟碳边境调节机制(CBAM)法规要求,为出口企业提供商品隐含碳排放量核算服务,支持钢铁、铝、水泥等六大行业的数据填报,生成符合欧盟要求的合规报告', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '钢铁全产业链 EPD 平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '提供钢铁产品环境产品声明(EPD)全流程服务,包括产品碳足迹计算、生命周期评估(LCA)、第三方独立审核及国际EPD注册,帮助企业获取绿色贸易通行证', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'OYLCA 工具', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '欧冶云商', NULL, NULL, NULL, '提供专业的生命周期碳足迹(LCA)评估工具,支持企业快速建立产品碳核算模型,引用权威排放因子数据库,自动生成符合ISO 14040/14044标准的碳足迹报告', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '建筑节能降碳服务解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '时链科技', NULL, NULL, NULL, '提供建筑全生命周期节能降碳服务,涵盖能耗诊断审计、机电系统节能改造、可再生能源应用、智慧楼宇管控及碳减排量核算,实现建筑近零碳运行', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '基于医院建筑运行特征智能化碳评价', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '上海建工四建', NULL, NULL, NULL, '针对医院建筑能耗特性进行深度数据分析,建立医疗行业专属碳排放核算模型,输出智能化碳评价报告,为医院制定科学的碳减排路径与节能改造方案', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '能碳智慧管家解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '上海电气', NULL, NULL, NULL, '提供综合能源管理与碳排放监测一体化平台,实时采集企业用能数据,智能分析碳排放结构,自动生成碳排放报告,并提供优化建议支撑企业碳减排决策', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14064-1 温室气体核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '提供组织层面温室气体排放核查认证服务,指导企业建立碳排放清单,通过第三方独立核查出具国际认可的ISO 14064-1核查报告,证书全球通用', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14067 产品碳足迹核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '依据ISO 14067标准提供产品碳足迹核查认证服务,覆盖产品全生命周期碳排放量化、数据质量评估与第三方验证,帮助企业获得产品碳足迹认证并获取绿色产品标识', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14068-1 碳中和核查认证解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'TUV 北德', NULL, NULL, NULL, '核查组织或产品的碳中和路径规划与抵消方案,评估碳抵消项目的真实性与有效性,出具符合ISO 14068-1标准的碳中和认证证书,提升企业绿色品牌公信力', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14064 盘查 & 核查服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供温室气体排放量盘查及第三方核查服务全流程指导,帮助企业建立碳排放核算体系,完成数据收集、排放量计算及第三方核查认证,确保符合国内外碳披露要求', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14067 产品碳足迹服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '按照ISO 14067标准提供产品碳足迹核算与认证全流程服务,覆盖碳足迹建模、数据收集、排放计算及第三方验证,帮助企业量化产品碳排放并获取国际认可的碳标签', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ISO 14068 碳中和服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供碳中和认证全流程服务,包括碳足迹盘查、碳抵消方案设计、碳信用购买指导及碳中和声明验证,协助企业实现碳中和目标并获得权威认证', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'PAS 2080 碳管理体系服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供碳管理体系建设咨询与认证服务,依据PAS 2080标准帮助企业建立碳管理治理架构,制定碳减排目标与路径,推动供应链协同降碳,提升整体碳效率', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 填报 & 核验服务流程', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '必维认证', NULL, NULL, NULL, '提供欧盟碳边境调节机制(CBAM)合规服务全流程,辅助完成数据收集、隐含碳计算、季度报告填报及年度第三方核验,确保对欧出口企业符合CBAM法规要求', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'HiQLCD 数据库 + HiQEditor', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '提供权威碳排放因子数据库及可视化编辑工具,支持企业快速建立产品碳足迹核算模型,内置行业标准排放因子库,自动生成符合国内国际标准的碳足迹报告与EPD文档', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '积木 LCA 云', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '基于SaaS模式的生命周期评估(LCA)云平台,提供模块化碳核算工具与可视化看板,支持产品碳足迹、企业碳足迹、项目碳减排量等多场景LCA分析,数据可追溯可共享', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '积木碳云', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '提供企业碳管理一站式云服务,涵盖碳排放监测与管理、减排项目管理、碳资产对接、碳普惠积分等功能,支持与碳交易所对接,助力企业实现碳数字化管理', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '碳边境调节机制计算工具 CBAM TOOL', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '易碳数科', NULL, NULL, NULL, '依据欧盟CBAM法规提供在线碳排放计算工具,支持多行业多产品隐含碳排放量自动核算,一键生成符合欧盟格式要求的CBAM填报报表与合规证明文件', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '零碳园区解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供零碳园区顶层规划与实施全流程解决方案,涵盖碳排放盘查、零碳路径规划、智慧能源系统建设、碳中和实施路径设计及第三方认证,打造近零碳示范园区', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '基于区块链技术的组织碳管理平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '利用区块链去中心化、不可篡改的特性建立可信碳管理账本,实现组织碳排放数据的链上存证、可信溯源与跨机构共享,杜绝数据造假,提升碳数据公信力', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '可持续供应链溯源解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '基于区块链技术构建绿色供应链追溯体系,追踪上游原材料碳足迹与环保属性,确保供应链碳排放数据透明可信,帮助企业满足欧盟碳边境调节机制对供应链的要求', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '基于区块链技术的能碳双控解决方案', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '融合能源管理与碳排放监测两大系统,利用区块链技术实现能耗与碳排放数据的可信关联与协同管控,支持绿电溯源、碳排放计量及碳资产确权', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '区块链驱动的全生命周期碳足迹溯源', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '通过区块链技术记录产品从原材料、生产、运输到使用、废弃的全生命周期碳数据,实现碳足迹的的可信溯源、防篡改验证与多方共识,服务于绿色贸易与品牌建设', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '绿色产品生态设计平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供绿色产品生态设计数字化工具,辅助企业在产品研发阶段融入低碳理念,进行材料选型、工艺优化、碳影响评估,推动产品全生命周期绿色化', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'ESG 综合服务平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供ESG评级提升、ESG报告编制、信息披露指导、ESG管理培训等一站式服务,帮助企业系统性提升ESG表现,满足资本市场与监管机构的可持续发展信息披露要求', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), 'CBAM 申报平台', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, 'AMT 企源', NULL, NULL, NULL, '提供CBAM数据智能采集、报表自动生成、在线申报及进度追踪等一站式服务,支持与欧盟CBAM系统对接,确保数据准确完整,降低企业合规申报成本与风险', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '可再生能源溯源解决方案(源侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供可再生能源发电碳减排量核算与绿证溯源服务,利用区块链技术追踪绿色电力从发电到消纳的全生命周期,支撑企业实现绿电消费与碳减排目标', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '智能微电网自洽系统解决方案(网侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供智能微电网能量管理系统解决方案,实现分布式光伏、储能、充电桩等资源的协调优化控制,提升新能源消纳率,降低电网碳排放强度', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '零碳园区解决方案(荷侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供园区负荷侧综合能源管理与碳排放监测服务,涵盖智慧照明、空调群控、能耗优化及碳排放计量,通过需求侧响应实现园区碳排放精细化管理', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '电化学储能解决方案(储侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供电化学储能系统集成与运维服务,通过峰谷套利、需求响应、调频辅助服务等模式优化电力碳排放结构,支撑企业降低碳排放强度与用能成本', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '碳数据库解决方案(装备侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供能源装备碳排放数据库建设与运维服务,建立设备级碳排放计量标准与数据集,为企业碳排放精细化管理提供数据支撑,服务于企业碳资产核算与碳交易', NULL);
|
||||
|
||||
INSERT INTO `txw_gxzx_gxxxb`
|
||||
(gx_uuid, bt_1, fwfw, kzwj, lxr, lxdh, email, zt, qyuuid, lrrq, xgrq, xgruuid, lrruuid, sjzt, ywlx_dm, ysfw_dm_1, qwwcsj, xqjjcd_dm, gjjg, gjdw_dm, qymc, bqjh, fwlxjh, sshy, fwnr, nsrsbh)
|
||||
VALUES(REPLACE(UUID(), '-', ''), '虚拟电厂场景解决方案(调控侧)', '000000', NULL, '宋冰', NULL, NULL, '3', NULL, '2026-04-29 15:54:39', NULL, NULL, '43684119bc904f50a798c6dc04b47276', 'Y', '01', NULL, NULL, NULL, 0, NULL, '中国电气装备', NULL, NULL, NULL, '提供虚拟电厂运营管理平台,聚合分布式可再生能源、储能、可控负荷等资源,参与电力辅助服务和碳减排权交易,实现多能互补与碳排放优化协同调控', NULL);
|
||||
@ -125,6 +125,7 @@
|
||||
<version>${spring.boot.version}</version>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
<mainClass>com.css.txw.mhzc.app.DevAppStarter</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
@ -0,0 +1,25 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
12
txw-sso/devops/settings-offline.xml
Normal file
12
txw-sso/devops/settings-offline.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<!-- 本地仓库路径 -->
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
|
||||
<!-- 离线模式:不尝试任何网络访问 -->
|
||||
<offline>true</offline>
|
||||
|
||||
</settings>
|
||||
@ -30,7 +30,7 @@
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
@ -129,6 +129,7 @@
|
||||
<version>${spring.boot.version}</version>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
<mainClass>com.css.txw.sso.app.DevAppStarter</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
discovery:
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: "9!1%Sw#QydNacosDev"
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
12
txw-yygl/devops/settings-offline.xml
Normal file
12
txw-yygl/devops/settings-offline.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
|
||||
<!-- 本地仓库路径 -->
|
||||
<localRepository>/root/.m2/repository</localRepository>
|
||||
|
||||
<!-- 离线模式:不尝试任何网络访问 -->
|
||||
<offline>true</offline>
|
||||
|
||||
</settings>
|
||||
@ -30,7 +30,7 @@
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
@ -107,6 +107,7 @@
|
||||
<version>${spring.boot.version}</version>
|
||||
<configuration>
|
||||
<fork>true</fork>
|
||||
<mainClass>com.css.txw.yygl.app.DevAppStarter</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: 9!1%Sw#QydNacosDev
|
||||
discovery:
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: 9!1%Sw#QydNacosDev
|
||||
namespace: bcf8de57-7215-4934-aced-ab382d504aff # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
@ -0,0 +1,27 @@
|
||||
--- #################### 注册中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: txw-nacos:8848
|
||||
username: qyddev
|
||||
password: 9!1%Sw#QydNacosDev
|
||||
discovery:
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
metadata:
|
||||
version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布
|
||||
|
||||
--- #################### 配置中心相关配置 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# Nacos Config 配置项,对应 NacosConfigProperties 配置属性类
|
||||
config:
|
||||
server-addr: txw-nacos:8848 # Nacos 服务器地址(本地开发环境)
|
||||
username: qyddev
|
||||
password: 9!1%Sw#QydNacosDev
|
||||
namespace: 2fd09a25-3ac4-48ac-a2f1-eb7e93163529 # 命名空间。这里使用本地开发环境
|
||||
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
|
||||
name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name
|
||||
file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties
|
||||
Loading…
Reference in New Issue
Block a user