diff --git a/Jenkinsfile b/Jenkinsfile index 13d70962..43c0f555 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -27,7 +27,7 @@ pipeline { DEPS_IMAGE = "${REGISTRY}/aiot-deps:latest" // 服务配置 - CORE_SERVICES = 'viewsh-gateway,viewsh-module-system-server,viewsh-module-infra-server,viewsh-module-iot-server,viewsh-module-iot-gateway,viewsh-module-ops-server' + CORE_SERVICES = 'viewsh-gateway,viewsh-module-system-server,viewsh-module-infra-server,viewsh-module-iot-server,viewsh-module-iot-gateway,viewsh-module-ops-server,viewsh-module-video-server' // 部署配置常量(Initialize 阶段根据分支选择具体目标,DEPLOY_HOST/PATH 不在 environment 块声明, // 避免 Jenkins declarative environment 的 readonly 行为导致 script 块里的赋值不生效, @@ -346,6 +346,19 @@ pipeline { echo "📂 Syncing ${env.COMPOSE_FILE} to deploy host..." sh "scp -o StrictHostKeyChecking=no -i ${env.SSH_KEY} ${env.COMPOSE_FILE} root@${env.DEPLOY_HOST}:${env.DEPLOY_PATH}/" + // Release 环境额外同步 ZLM 配置文件 + if (env.BRANCH_NAME == 'release/next') { + echo "📂 Syncing ZLM config to deploy host..." + sh """ + ssh -o StrictHostKeyChecking=no -i ${env.SSH_KEY} root@${env.DEPLOY_HOST} \ + "mkdir -p ${env.DEPLOY_PATH}/docker-compose" + + scp -o StrictHostKeyChecking=no -i ${env.SSH_KEY} \ + docker-compose/zlm-config-release.ini \ + root@${env.DEPLOY_HOST}:${env.DEPLOY_PATH}/docker-compose/zlm-config-release.ini + """ + } + try { // 串行部署(保证依赖关系) sortedServices.each { service -> @@ -1117,7 +1130,8 @@ def sortServicesByDependency(def services) { 'viewsh-module-infra-server', 'viewsh-module-iot-server', 'viewsh-module-iot-gateway', - 'viewsh-module-ops-server' + 'viewsh-module-ops-server', + 'viewsh-module-video-server' // video 依赖 ops,排在最后 ] return services.sort { a, b -> @@ -1134,7 +1148,8 @@ def getContainerNameForService(String service, String suffix) { 'viewsh-module-infra-server': 'aiot-infra-server', 'viewsh-module-iot-server': 'aiot-iot-server', 'viewsh-module-iot-gateway': 'aiot-iot-gateway', - 'viewsh-module-ops-server': 'aiot-ops-server' + 'viewsh-module-ops-server': 'aiot-ops-server', + 'viewsh-module-video-server': 'aiot-video-server' ] return map.get(service, "aiot-${service}") + (suffix ?: '') } @@ -1148,7 +1163,8 @@ def getModulePathForService(String service) { 'viewsh-module-infra-server': 'viewsh-module-infra/viewsh-module-infra-server', 'viewsh-module-iot-server': 'viewsh-module-iot/viewsh-module-iot-server', 'viewsh-module-iot-gateway': 'viewsh-module-iot/viewsh-module-iot-gateway', - 'viewsh-module-ops-server': 'viewsh-module-ops/viewsh-module-ops-server' + 'viewsh-module-ops-server': 'viewsh-module-ops/viewsh-module-ops-server', + 'viewsh-module-video-server': 'viewsh-module-video/viewsh-module-video-server' ] return map.get(service, service) }