260 lines
7.4 KiB
YAML
260 lines
7.4 KiB
YAML
# DevOps 自动化部署配置文件
|
|
|
|
# 全局分支配置(所有仓库统一使用此分支)
|
|
global_branch: main
|
|
|
|
# 主仓库配置
|
|
main_repository:
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-cloud-all.git
|
|
runtime_path: ./runtime
|
|
|
|
# 监听配置
|
|
monitor:
|
|
poll_interval: 10 # 轮询间隔(秒)
|
|
enabled_repos: [] # 空数组表示监听所有仓库,或指定具体仓库名称列表
|
|
|
|
# 部署配置
|
|
deploy:
|
|
docker_compose_path: ./docker/docker-compose.yml
|
|
|
|
# 日志配置
|
|
logging:
|
|
file: .devops/logs/devops.log
|
|
max_size: 10485760 # 10MB
|
|
|
|
# 基础设施服务配置(只部署一次)
|
|
infrastructure:
|
|
- name: ruoyi-mysql
|
|
docker_service: ruoyi-mysql
|
|
pre_deploy_commands:
|
|
- cp sql/ry_20250523.sql docker/mysql/db/
|
|
- cp sql/ry_config_20250902.sql docker/mysql/db/
|
|
- cp sql/wvp.sql docker/mysql/db/
|
|
wait_time: 30 # MySQL 需要更长时间初始化
|
|
|
|
- name: ruoyi-redis
|
|
docker_service: ruoyi-redis
|
|
wait_time: 10 # Redis 启动较快
|
|
|
|
- name: ruoyi-nacos
|
|
docker_service: ruoyi-nacos
|
|
wait_time: 20 # Nacos 需要等待 MySQL 就绪
|
|
|
|
- name: thingsboard-postgres
|
|
docker_service: thingsboard-postgres
|
|
wait_time: 20 # PostgreSQL 需要时间初始化
|
|
|
|
- name: zlmediakit
|
|
docker_service: zlmediakit
|
|
wait_time: 10 # 流媒体服务器启动较快
|
|
|
|
- name: wvp-pro
|
|
docker_service: wvp-pro
|
|
pre_deploy_commands:
|
|
- cd wvpjar && mvn clean package -DskipTests
|
|
- cp wvpjar/target/wvp-pro-*.jar docker/wvp/wvpjar/jar/
|
|
wait_time: 30 # WVP 后端需要等待 MySQL、Redis 和 zlmediakit
|
|
|
|
- name: wvp-web
|
|
docker_service: wvp-web
|
|
pre_deploy_commands:
|
|
- cd wvpweb && npm install && npm run build:prod
|
|
- cp -r wvpweb/dist docker/wvp/web/html/dist
|
|
wait_time: 10 # Nginx 启动较快
|
|
|
|
- name: thingsboard-ce
|
|
docker_service: thingsboard-ce
|
|
wait_time: 40 # ThingsBoard 需要等待 PostgreSQL 并初始化
|
|
|
|
# Git 仓库配置
|
|
repositories:
|
|
# 认证服务
|
|
- name: ruoyi-auth
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-auth.git
|
|
path: ruoyi-auth
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/auth/jar
|
|
docker_service: ruoyi-auth
|
|
|
|
# 网关服务
|
|
- name: ruoyi-gateway
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-gateway.git
|
|
path: ruoyi-gateway
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/gateway/jar
|
|
docker_service: ruoyi-gateway
|
|
|
|
# 前端UI
|
|
- name: ruoyi-ui
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-ui.git
|
|
path: ruoyi-ui
|
|
type: nodejs
|
|
build_commands:
|
|
- npm install
|
|
- npm run build:prod
|
|
artifact_path: dist
|
|
docker_path: docker/nginx/html/dist
|
|
docker_service: ruoyi-nginx
|
|
|
|
- name: ruoyi-hyf
|
|
url: http://th.local.t-aaron.com:13000/THENG/a_th_web.git
|
|
path: a_th_web
|
|
type: nodejs
|
|
build_commands:
|
|
- pnpm install
|
|
- pnpm run build-prod:hyf
|
|
artifact_path: apps/tuoheng_hyf_web/dist
|
|
docker_path: docker/a_th_web/html/dist
|
|
docker_service: ruoyi-hyf
|
|
|
|
# 系统服务
|
|
- name: ruoyi-system
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-system.git
|
|
path: ruoyi-modules/ruoyi-system
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/system/jar
|
|
docker_service: ruoyi-modules-system
|
|
|
|
# 文件服务
|
|
- name: ruoyi-file
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-file.git
|
|
path: ruoyi-modules/ruoyi-file
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/file/jar
|
|
docker_service: ruoyi-modules-file
|
|
|
|
# 代码生成
|
|
- name: ruoyi-gen
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-gen.git
|
|
path: ruoyi-modules/ruoyi-gen
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/gen/jar
|
|
docker_service: ruoyi-modules-gen
|
|
|
|
# 定时任务
|
|
- name: ruoyi-job
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-job.git
|
|
path: ruoyi-modules/ruoyi-job
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/job/jar
|
|
docker_service: ruoyi-modules-job
|
|
|
|
# 监控服务
|
|
- name: ruoyi-monitor
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-ruoyi-visual.git
|
|
path: ruoyi-visual/ruoyi-monitor
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/visual/monitor/jar
|
|
docker_service: ruoyi-visual-monitor
|
|
|
|
# 设备服务
|
|
- name: tuoheng-device
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-device.git
|
|
path: ruoyi-modules/tuoheng-device
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/device/jar
|
|
docker_service: tuoheng-modules-device
|
|
|
|
# 审批服务
|
|
- name: tuoheng-approval
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-approval.git
|
|
path: ruoyi-modules/tuoheng-approval
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/approval/jar
|
|
docker_service: tuoheng-modules-approval
|
|
|
|
# 航线服务
|
|
- name: tuoheng-airline
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-airline.git
|
|
path: ruoyi-modules/tuoheng-airline
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/airline/jar
|
|
docker_service: tuoheng-modules-airline
|
|
|
|
# 任务服务
|
|
- name: tuoheng-task
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-task.git
|
|
path: ruoyi-modules/tuoheng-task
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/task/jar
|
|
docker_service: tuoheng-modules-task
|
|
|
|
# FMS服务
|
|
- name: tuoheng-fms
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-fms.git
|
|
path: ruoyi-modules/tuoheng-fms
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/fms/jar
|
|
docker_service: tuoheng-modules-fms
|
|
|
|
# 媒体服务
|
|
- name: tuoheng-media
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-tuoheng-media.git
|
|
path: ruoyi-modules/tuoheng-media
|
|
type: java
|
|
build_commands:
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/ruoyi/modules/media/jar
|
|
docker_service: tuoheng-modules-media
|
|
|
|
# WVP 后端服务
|
|
- name: wvp-pro
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-wvp-java.git
|
|
path: wvpjar
|
|
type: java
|
|
build_commands:
|
|
- cd wvpjar
|
|
- mvn clean package -DskipTests
|
|
artifact_path: target/*.jar
|
|
docker_path: docker/wvp/wvpjar/jar
|
|
docker_service: wvp-pro
|
|
|
|
# WVP 前端服务
|
|
- name: wvp-web
|
|
url: http://th.local.t-aaron.com:13000/THENG/a-wvp-web.git
|
|
path: wvpweb
|
|
type: nodejs
|
|
build_commands:
|
|
- npm install
|
|
- npm run build:prod
|
|
artifact_path: dist
|
|
docker_path: docker/wvp/web/html/dist
|
|
docker_service: wvp-web
|