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/delivery/site.Makefile |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/docker/delivery/site.Makefile b/docker/delivery/site.Makefile
new file mode 100644
index 0000000..892a538
--- /dev/null
+++ b/docker/delivery/site.Makefile
@@ -0,0 +1,65 @@
+# JNPF 鏁存爤绂荤嚎浜や粯鍖� 鐜板満鎿嶄綔鍏ュ彛锛堟湰鏂囦欢闅忓寘鍒嗗彂涓� Makefile锛涙祦绋嬭瑙� INSTALL.md锛�
+# 鐜板満鏈哄櫒涓嶉渶瑕佹簮鐮併�佷笉闇�瑕佸缃戯細闀滃儚鍏ㄩ儴鏉ヨ嚜 images/ 鐩綍鐨勭绾� tar銆�
+.PHONY: help verify load preflight up down restart ps logs wait smoke
+
+help: ## 鏄剧ず鏈府鍔�
+	@grep -E '^[a-z-]+:.*##' $(MAKEFILE_LIST) | awk -F':.*## ' '{printf "  make %-10s %s\n", $$1, $$2}'
+
+# up 寮哄埗鍓嶇疆 preflight锛氱┖鍗�/绌哄簱/缂� .env 閿湪 compose up 鍓嶆嫤涓嬪苟缁欎慨澶嶆寚寮曪紱
+# 纭璺宠繃锛堣嚜鎷呴闄╋級锛歋KIP_PREFLIGHT=1 make up
+preflight: ## 閮ㄧ讲鑷妇鏍¢獙锛歞ocker/鍐呭瓨/.env 蹇呭~閿�/鏁版嵁鍗�/鍥涘簱 schema/绉嶅瓙鏁版嵁/涓氬姟瑙掕壊
+	@if [ "$(SKIP_PREFLIGHT)" = "1" ]; then echo "璺宠繃 preflight锛圫KIP_PREFLIGHT=1锛�"; \
+	else ./docker/preflight.sh; fi
+
+verify: ## 鏍¢獙浜や粯鍖呭畬鏁存�э紙sha256锛岄暅鍍� tar 杈冨ぇ闇�鏁板垎閽燂級
+	@command -v sha256sum >/dev/null && sha256sum -c SHA256SUMS || shasum -a 256 -c SHA256SUMS
+	@echo "瀹屾暣鎬ф牎楠岄�氳繃 鉁�"
+
+load: ## docker load 鍏ㄩ儴绂荤嚎闀滃儚锛堣繍琛岄暅鍍� + 杩佺Щ杈呭姪闀滃儚锛�
+	docker load -i images/cx-images.tar.gz
+	@test -f images/cx-migration-tools.tar.gz && docker load -i images/cx-migration-tools.tar.gz || true
+
+up: preflight ## 鐢ㄥ凡 load 鐨勬湰鍦伴暅鍍忚捣鍏ㄦ爤锛堢粷涓嶆瀯寤�/鎷夊彇锛涘喎鍚姩 5-8 鍒嗛挓鍚� make wait锛�
+	docker compose up -d --no-build --pull never
+	docker compose ps
+
+wait: ## 绛夊緟鍏ㄩ儴甯﹀仴搴锋鏌ョ殑瀹瑰櫒 healthy锛堜笟鍔� start_period 180s锛屽喎鍚姩绾� 5-8 鍒嗛挓锛�
+	@for i in $$(seq 1 60); do \
+	  total=$$(docker compose ps --format '{{.Name}} {{.Health}}' | awk 'NF==2' | wc -l | tr -d ' '); \
+	  ok=$$(docker compose ps --format '{{.Name}} {{.Health}}' | awk '$$2=="healthy"' | wc -l | tr -d ' '); \
+	  echo "healthy $$ok/$$total"; \
+	  [ -n "$$total" ] && [ "$$total" != "0" ] && [ "$$ok" = "$$total" ] && { echo "鍏ㄩ儴 healthy 鉁�"; exit 0; }; \
+	  sleep 10; \
+	done; echo "瓒呮椂锛氫粛鏈夊鍣ㄦ湭 healthy锛宒ocker compose ps 鏌ョ湅锛圠024锛氬厛纭鍐呭瓨 鈮�12GB锛�"; exit 1
+
+# --profile localdb 涓嶈兘鐪侊細compose 鐨� down 鍙鐩栧綋鍓嶅惎鐢� profile 鍐呯殑鏈嶅姟锛屾紡甯︿細鎶婃爤鍐� PG
+# 鍘熸牱鐣欑潃璺戙�傚甫涓婂畠锛屾棤璁烘湰鐜鐢ㄤ笉鐢ㄦ爤鍐� PG锛屽仠鏍堥兘鏄共鍑�鐨勶紙娌¤捣杩囧垯鏄┖鎿嶄綔锛夈��
+down: ## 鍏ㄩ儴鍋滄骞剁Щ闄ゅ鍣紙鏁版嵁瀹夊叏锛歱gdata 鏄� external 鍗凤紝姘镐笉鍒犻櫎锛�
+	docker compose --profile localdb down
+
+restart: ## 閲嶅惎鍏ㄦ爤瀹瑰櫒
+	docker compose restart
+
+ps: ## 鏌ョ湅瀹瑰櫒鐘舵�佷笌鍋ュ悍
+	docker compose ps
+
+logs: ## 璺熻釜鏌愭湇鍔℃棩蹇楋細make logs s=cx-lims
+	docker compose logs -f $(s)
+
+smoke: ## 鍐掔儫涓夋锛歡ateway 鐧诲綍 + 鍓嶇闈欐�� 200 + 缁� 80 鍙嶄唬鐧诲綍锛堜緷璧� curl/openssl/md5sum 鎴� md5锛�
+	@set -o pipefail; \
+	MD5=$$(command -v md5 >/dev/null 2>&1 && echo md5 || echo md5sum); \
+	hash5() { if [ "$$MD5" = md5 ]; then md5; else md5sum | cut -d' ' -f1; fi; }; \
+	KEYHEX=$$(printf '%s' "$$(printf '%s' 'EY8WePvjM5GGwQzn' | hash5)" | xxd -p | tr -d '\n'); \
+	ENC=$$(printf '%s' "$$(printf '%s' '123456' | hash5)" | openssl enc -aes-256-ecb -K "$$KEYHEX" -nosalt | xxd -p | tr -d '\n'); \
+	RESP=$$(curl -fsS -X POST http://127.0.0.1:30000/api/oauth/Login -H 'Content-Type: application/x-www-form-urlencoded' \
+	  --data-urlencode account=admin --data-urlencode "password=$$ENC" \
+	  --data-urlencode grant_type=password --data-urlencode origin=password); \
+	echo "$$RESP" | head -c 200; echo; \
+	echo "$$RESP" | grep -q '"code":200' || { echo "鍐掔儫澶辫触锛氱櫥褰曟湭杩斿洖 code 200锛坓ateway 30000 鐩磋繛锛�"; exit 1; }; \
+	curl -fsS -o /dev/null http://127.0.0.1:80/ || { echo "鍐掔儫澶辫触锛氬墠绔潤鎬佸叆鍙� http://127.0.0.1:80/ 涓嶉��"; exit 1; }; \
+	RESP2=$$(curl -fsS -X POST http://127.0.0.1:80/api/oauth/Login -H 'Content-Type: application/x-www-form-urlencoded' \
+	  --data-urlencode account=admin --data-urlencode "password=$$ENC" \
+	  --data-urlencode grant_type=password --data-urlencode origin=password); \
+	echo "$$RESP2" | grep -q '"code":200' || { echo "鍐掔儫澶辫触锛氱粡鍓嶇 80 鍙嶄唬鐧诲綍鏈繑鍥� code 200"; exit 1; }; \
+	echo "鍐掔儫閫氳繃 鉁擄紙gateway 鐩磋繛 + 鍓嶇闈欐�� + 80 鍙嶄唬鐧诲綍锛�"

--
Gitblit v1.8.0