docs: record EJ sync production deployment

This commit is contained in:
2026-09-10 12:12:06 +08:00
parent 192c31fb8c
commit 6862547a9d
2 changed files with 47 additions and 9 deletions
@@ -1,6 +1,6 @@
#!/bin/sh
set -eu
ZYT_ROOT=${ZYT_ROOT:-/Users/long/Work/zyt}
ZYT_ROOT=${ZYT_ROOT:-/Users/long/Work/zyt-ej-medicine-sync}
EJ_ROOT=${EJ_ROOT:-/Users/long/Work/ej}
ZYT_BASE=27fbef9321c67f962e4d73f04a52272887c04f95
EJ_BASE=a7439cc2e8c37dd6c32c926f0cc39c1a9c9b4b67
@@ -1,6 +1,6 @@
OBJECT=ZYT_TO_EJ_INCREMENTAL_MEDICINE_SYNC
RESULT=NON_DESTRUCTIVE_INCREMENTAL_PUSH_IMPLEMENTED_AND_DRY_RUN_VERIFIED
NEXT=DEPLOY_BOTH_BRANCHES_THEN_RUN_APPLY_ONLY_AFTER_EXPLICIT_AUTHORIZATION
RESULT=NON_DESTRUCTIVE_INCREMENTAL_PUSH_DEPLOYED_AND_PRODUCTION_DRY_RUN_VERIFIED
NEXT=RUN_PRODUCTION_APPLY_ONLY_AFTER_EXPLICIT_AUTHORIZATION
BRANCH_ZYT=codex/ej-medicine-incremental-sync
BRANCH_EJ=codex/ej-additive-medicine-import
ZYT_COMMIT=17e9e7b6b
@@ -11,10 +11,10 @@ CHANGED_BRANCH_FIELD=ZYT ej-pharmacy:push-medicines add-only command + EJ medici
CLARIFIED_BEHAVIOR=restore soft-deleted ZYT-origin EJ medicine in place; re-enable disabled ZYT-origin medicine; append new ZYT medicine; preserve active existing and EJ-only medicines
ARTIFACTS:
MODIFIED_FILE=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/MODIFIED_FILE
DIFF_FILE=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/DIFF_FILE
VERIFICATION=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt
ROLLBACK=/Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh
MODIFIED_FILE=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/MODIFIED_FILE
DIFF_FILE=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/DIFF_FILE
VERIFICATION=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/VERIFICATION.txt
ROLLBACK=/Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh
ORIGINAL:
ZYT_BASE_COMMIT=27fbef9321c67f962e4d73f04a52272887c04f95
@@ -89,10 +89,48 @@ LITERAL_OUTPUT=No syntax errors detected
EXIT_STATUS=0
ROLLBACK:
COMMAND=ZYT_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/zyt EJ_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/ej /Users/long/Work/zyt/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh
COMMAND=ZYT_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/zyt EJ_ROOT=/tmp/ej-sync-rollback-latest.eAdq7T/ej /Users/long/Work/zyt-ej-medicine-sync/artifacts/ej-medicine-incremental-sync/ROLLBACK.sh
INPUT=detached copies at ZYT 27fbef932 and EJ a7439cc with clarified diffs applied; BEFORE_ZYT=6; BEFORE_EJ=3
LITERAL_OUTPUT=ROLLBACK_OK: ZYT incremental push removed; EJ unrelated-catalog preflight restored.
EXIT_STATUS=0
ROLLBACK_RESULT=AFTER_ZYT=0; AFTER_EJ=0; both copies restored to clean base behavior/status
CURRENT_STATUS=clarified behavior commits are pushed and verification tracks the latest diffs; EJ retains only pre-existing unrelated deletions; production apply was not run
CURRENT_STATUS=ZYT and EJ code deployed to production with matching hashes and PHP-FPM reloaded; production dry-run passed; production apply was not run
RESTORED_BEHAVIOR=ROLLBACK removes the ZYT push command/service/docs/tests and restores EJ bootstrap-only unrelated-catalog rejection
DEPLOYMENT_1:
COMMAND=ssh zyt deployment transaction installing ZYT commit 192c31fb8c601d78ed5fc7dd635ee80372a9a760 and EJ commit 495b02341ac940d7f7b3dac5254fb6714b41311b
INPUT=HOST 39.97.232.35; ZYT /www/wwwroot/zyt; EJ /www/wwwroot/ej; targeted files only
LITERAL_OUTPUT=BACKUP=/www/deploy-backups/ej-medicine-sync-20260910-120752; ZYT_DEPLOYED=192c31fb8c601d78ed5fc7dd635ee80372a9a760; EJ_DEPLOYED=495b02341ac940d7f7b3dac5254fb6714b41311b
EXIT_STATUS=0
DEPLOYMENT_RESULT=unrelated ZYT ACME file and EJ DoctorLogic/.well-known changes preserved
DEPLOYMENT_2:
COMMAND=/etc/init.d/php-fpm-82 reload
INPUT=production PHP 8.2 service after targeted file installation
LITERAL_OUTPUT=Reload service php-fpm done
EXIT_STATUS=0
DEPLOYMENT_3:
COMMAND=sha256sum deployed runtime files and git show COMMIT:PATH
INPUT=ZYT console/command/service plus EJ MedicineImportService
LITERAL_OUTPUT=all four expected hashes equal actual hashes; match=YES
EXIT_STATUS=0
DEPLOYMENT_4:
COMMAND=cd /www/wwwroot/zyt/server && php think ej-pharmacy:push-medicines
INPUT=production default dry-run; no --apply
LITERAL_OUTPUT=dry-run source=654 candidates=654 batches=7 mapped=654 unmapped=0 preserved_inactive=0 remote_delete=0 local_delete=0
EXIT_STATUS=0
DEPLOYMENT_RESULT=no EJ HTTP write; no ZYT projection write; no delete
DEPLOYMENT_5:
COMMAND=curl https://admin.zhenyangtang.com.cn/ and curl https://lyej.lyenji.com/api/openapi/v1/medicines?after=0&limit=1 without HMAC headers
INPUT=public post-deployment health verification
LITERAL_OUTPUT=admin HTTP=200 text/html; EJ HTTP=401 application/json with message Missing authentication headers
EXIT_STATUS=0
DEPLOYMENT_RESULT=public admin and EJ gateway are reachable; EJ authentication middleware is active
PRODUCTION_BACKUP=/www/deploy-backups/ej-medicine-sync-20260910-120752
PRODUCTION_ROLLBACK=/www/deploy-backups/ej-medicine-sync-20260910-120752/ROLLBACK.sh
PRODUCTION_ROLLBACK_CHECK=bash -n exit 0; ZYT_BACKUP_FILES=2; EJ_BACKUP_FILES=3
PRODUCTION_APPLY=NOT_RUN