From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
docker/up-staged.sh | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 101 insertions(+), 0 deletions(-)
diff --git a/docker/up-staged.sh b/docker/up-staged.sh
new file mode 100644
index 0000000..6619838
--- /dev/null
+++ b/docker/up-staged.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+# 鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+# 鍒嗘尝鍚姩鍏ㄦ爤锛氬厛鍩虹璁炬柦锛屽啀鎸変緷璧栭噸瑕佸害鍒嗘尝鏀句笟鍔℃湇鍔★紝娉㈤棿甯﹁礋杞介椄闂ㄣ��
+#
+# 涓轰粈涔堥渶瑕侊細compose 鐨� depends_on 鍙繚璇併�屽熀纭�璁炬柦 healthy 鎵嶆斁涓氬姟銆嶏紝浣嗗涓�
+# 涓氬姟 JVM 浼氬湪鍚屼竴鐬棿鍐峰惎鍔ㄣ�傛湰鏈猴紙Apple Silicon 璺� amd64 妯℃嫙锛塁PU 琚墦婊″悗锛�
+# Druid 寤鸿繛瓒呮椂 鈫� Spring 鍚姩澶辫触 鈫� 瀹瑰櫒鍍靛湪 unhealthy锛�2026-08-06 鎭㈠搴撳悗瀹炴祴锛�
+# 涓�娆℃�� up 澶ч潰绉兊姝伙紝鍒嗘尝 + 璐熻浇闂搁棬鍏ㄧ豢锛夈�備氦浠樻湇鍔″櫒锛堝師鐢� amd64锛夐�氬父涓嶉渶瑕�
+# 鏈剼鏈紝鐩存帴 docker compose up -d 鍗冲彲銆�
+#
+# 鐢ㄦ硶锛堜粨搴撴牴鎵ц锛夛細
+# ./docker/up-staged.sh # 鍏ㄦ爤鍒嗘尝璧�
+# LOAD_GATE=6 ./docker/up-staged.sh # 鏀剁揣璐熻浇闂搁棬锛堥粯璁� 9锛�
+# 鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�鈹�
+set -uo pipefail
+cd "$(dirname "$0")/.."
+
+LOAD_GATE="${LOAD_GATE:-9}"
+WAIT_BUDGET="${WAIT_BUDGET:-420}" # 姣忔尝绛� healthy 鐨勭鏁伴绠�
+
+load_now() {
+ # macOS / Linux 鍙屽吋瀹癸細鍙� 1 鍒嗛挓璐熻浇鐨勬暣鏁伴儴鍒�
+ if command -v sysctl >/dev/null 2>&1 && sysctl -n vm.loadavg >/dev/null 2>&1; then
+ sysctl -n vm.loadavg | awk '{print int($2)}'
+ else
+ awk '{print int($1)}' /proc/loadavg
+ fi
+}
+
+wait_load() {
+ local l
+ while :; do
+ l=$(load_now)
+ [ "$l" -lt "$LOAD_GATE" ] && return 0
+ echo " 璐熻浇 $l 鈮� 闂搁棬 ${LOAD_GATE}锛岀瓑 30s鈥�"
+ sleep 30
+ done
+}
+
+wait_healthy() {
+ local deadline=$((SECONDS+WAIT_BUDGET)) all c s
+ while [ $SECONDS -lt $deadline ]; do
+ all=1
+ for c in "$@"; do
+ s=$(docker inspect "$c" --format '{{.State.Health.Status}}' 2>/dev/null || echo missing)
+ [ "$s" = "healthy" ] || all=0
+ done
+ [ "$all" = 1 ] && return 0
+ sleep 15
+ done
+ echo " 鈿狅笍 瓒呮椂鏈叏缁匡細$*锛堢户缁笅涓�娉紝绋嶅悗鍙崟鐙� docker restart锛�"
+ return 1
+}
+
+wave() {
+ echo "鈹�鈹� 娉㈡锛�$* 鈹�鈹�"
+ wait_load
+ docker compose up -d "$@" || exit 1
+ wait_healthy "$@" && echo " 鉁� 鍏ㄧ豢"
+}
+
+# 娉� 0锛氬熀纭�璁炬柦锛圥G/Redis锛夆�斺�攃ompose depends_on 鐨勬牴銆�
+# 2026-08-10锛歅G/Redis 鎸� .env 鍧愭爣鍔ㄦ�佸叆娉€�傚潗鏍囨寚 CVM 鏃跺畠浠凡琚�
+# docker-compose.override.yml 鐨� profiles 闂ㄦ帶鎸″湪鏍堝锛屾澶勫啀鏄惧紡鐐瑰悕鍙嶈�屼細鎶婂畠浠媺璧锋潵
+# 锛坈ompose 鏄惧紡鐐瑰悕鏈嶅姟浼氳嚜鍔ㄦ縺娲诲叾 profile锛夛紝鐧藉崰鍐呭瓨鈥斺�旀墍浠ュ彧鍦ㄦ湰鏈烘爤褰㈡�佹墠鍏ユ尝銆�
+envval() { grep -E "^$1=" .env 2>/dev/null | tail -1 | cut -d= -f2- | tr -d '"'\''[:space:]'; }
+CDH="$(envval CUSTOMER_DB_HOST)"; CDH="${CDH:-cx-postgres}" # 鏈 = compose 榛樿锛屽嵆鏍堝唴 PG
+RDH="$(envval JNPF_REDIS_HOST)"; RDH="${RDH:-cx-redis}" # 鍚屼笂
+
+WAVE0=()
+[ "$CDH" = "cx-postgres" ] && WAVE0+=(cx-postgres)
+[ "$RDH" = "cx-redis" ] && WAVE0+=(cx-redis)
+# 鈿狅笍 鍙橀噺蹇呴』鍐� ${VAR} 褰㈠紡锛氱揣璺熶腑鏂囧叏瑙掓爣鐐规椂锛岃8 $VAR 浼氭妸鍏ㄨ瀛楃鐨勫瓧鑺傚悶杩涘彉閲忓悕
+# 2026-08-11 淇細bash 3.2锛坢acOS 鑷甫锛夊湪 set -u 涓嬶紝瀵�**绌烘暟缁�**鍙� "${arr[@]}" 涓� "${#arr[@]}"
+# 閮戒細鎶� `WAVE0[@]: unbound variable` 鐩存帴閫�鍑恒�傝�� PG 涓� Redis 鍙屽弻澶栫疆鍒� CVM 鏃� WAVE0 姝f槸绌烘暟缁勨�斺��
+# 涔熷氨鏄鏈剼鏈嚜 2026-08-10銆屾寜 .env 鍧愭爣鍔ㄦ�佸叆娉€�嶆敼鍔ㄨ捣锛屽湪褰撳墠鏁版嵁闈㈡嫇鎵戜笅**鏍规湰璺戜笉璧锋潵**銆�
+# 缁熶竴鐢� ${arr[@]+...} 褰㈠紡鍙栧�肩粫寮�锛涢『甯﹁姝e師娉ㄩ噴銆屾尝 0 鍙捣 MQ銆嶁�斺�擱ocketMQ 宸蹭簬鍚屾棩绉婚櫎锛�
+# 涓よ�呴兘鍦ㄨ繙绔椂娉� 0 鏄�**绌虹殑**锛岀洿鎺ヨ烦杩囥��
+WAVE0_ITEMS="${WAVE0[@]+${WAVE0[@]}}"
+if [ -z "${WAVE0_ITEMS}" ]; then
+ echo "鏁版嵁闈㈠湪杩滅锛圥G=${CDH} / Redis=${RDH}锛夛紝娉� 0 鏃犳湰鍦扮粍浠讹紝璺宠繃"
+else
+ wave ${WAVE0_ITEMS}
+fi
+# 娉� 1锛氭牳蹇冮摼锛堟祦绋嬪紩鎿� + 骞冲彴鑱氬悎鏈嶅姟 + 缃戝叧锛夆�斺�斿叾浣欐湇鍔$殑杩愯鏃朵緷璧�
+# 2026-08-11 骞冲彴鑱氬悎锛歝x-oauth / cx-system / cx-visualdev / cx-flowable / cx-file /
+# cx-message / cx-permission / cx-visualdata / cx-app 涔濅釜宸插悎骞朵负 cx-platform銆�
+# 鈿狅笍 wave() 鏄� `docker compose up -d "$@" || exit 1`鈥斺�斿悕瀛楀涓嶄笂浼氳鏁翠釜鍒嗘壒鍚姩
+# **鐩存帴閫�鍑�**锛屼笉鏄烦杩囥�傛敼 compose 鏈嶅姟鍚嶆椂鏈〃蹇呴』鍚屾锛堣繖鏉℃暀璁涓婁竴鏉� cx-audit 娉ㄩ噴锛夈��
+wave cx-flow-engine cx-platform cx-gateway
+# 娉� 2锛氫富涓氬姟锛堝師娉� 2 鐨� cx-flowable / cx-file / cx-permission 宸插湪 cx-platform 鍐咃級
+wave cx-lims
+# 娉� 3锛氬鍥翠笟鍔★紙鍘熸尝 3 鐨� cx-message / cx-visualdev / cx-visualdata 宸插湪 cx-platform 鍐咃級
+# cx-audit 浜� 2026-08-11 鎼叆 cx-biz-common锛涘悗鑰呰嚜 P1 寤烘湇璧峰氨婕忓湪鏈〃澶栵紝涓�骞惰ˉ涓娿��
+wave cx-biz-common cx-dms
+# 娉� 4锛氭敹灏撅紙鍓嶇锛涘師 cx-app 宸插湪 cx-platform 鍐咃級
+# cx-scheduletask 淇濈暀涓� extra profile锛屾寜闇�鍗曠嫭鍚姩銆�
+wave cx-web
+
+echo "鈺愨晲 鏈�缁堢姸鎬� 鈺愨晲"
+docker compose ps --format '{{.Name}}\t{{.Status}}' | sort
--
Gitblit v1.8.0