23 lines
1.2 KiB
Bash
23 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
test "${PATIENT_RELEASE_APPROVED:-}" = patient-session-20260918
|
|
release=/home/ps/patient-session-20260918
|
|
cd "$release"
|
|
python3 -c 'import json;from pathlib import Path;p=json.loads(Path("patient-release-plan.json").read_text());assert p["finalized"] is True and p["schemaMigration"] is False'
|
|
python3 patient_server_guard.py baseline
|
|
test ! -e source-before
|
|
test ! -e preflight-complete
|
|
if docker image inspect zyt/wecom-admin:before-patient-session-20260918 >/dev/null 2>&1; then echo 'Refuse to replace existing rollback tag' >&2; exit 1; fi
|
|
mkdir -m 700 source-before
|
|
python3 - <<'PY'
|
|
from pathlib import Path
|
|
import shutil,json
|
|
r=Path('/home/ps/patient-session-20260918')
|
|
p=json.loads((r/'patient-release-plan.json').read_text())
|
|
for name in p['backendFiles']:shutil.copy2(Path('/opt/im-admin/wechat_rpa')/name,r/'source-before'/name)
|
|
shutil.copy2('/opt/im-admin/deploy/im-admin/compose.yaml',r/'source-before/compose.yaml')
|
|
PY
|
|
docker tag zyt/wecom-admin:current zyt/wecom-admin:before-patient-session-20260918
|
|
docker image inspect zyt/wecom-admin:current --format '{{.Id}}' > image-before.txt
|
|
printf '%s\n' ready > preflight-complete
|