fix: deploy directory uses {code}-test for trial environment
測試環境 deploy 目錄改為 {code}-test,避免與正式環境同 code 租戶衝突。
ssh_compose_up 也傳入正確的 deploy_name。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -137,7 +137,8 @@ def _ensure_tenant_compose(tenant, is_active: bool) -> bool:
|
||||
try:
|
||||
import paramiko
|
||||
code = tenant.code
|
||||
deploy_dir = f"{settings.TENANT_DEPLOY_BASE}/{code}"
|
||||
deploy_name = code if is_active else f"{code}-test"
|
||||
deploy_dir = f"{settings.TENANT_DEPLOY_BASE}/{deploy_name}"
|
||||
compose_path = f"{deploy_dir}/docker-compose.yml"
|
||||
env_path = f"{deploy_dir}/.env"
|
||||
|
||||
@@ -863,6 +864,7 @@ def run_tenant_check(schedule_log_id: int, db: Session):
|
||||
realm = tenant.code
|
||||
is_active = tenant.status == "active"
|
||||
|
||||
deploy_name = tenant.code if is_active else f"{tenant.code}-test"
|
||||
nc_name = f"nc-{tenant.code}" if is_active else f"nc-{tenant.code}-test"
|
||||
oo_name = f"oo-{tenant.code}" if is_active else f"oo-{tenant.code}-test"
|
||||
kc_host = KC_HOST_ACTIVE if is_active else KC_HOST_TRIAL
|
||||
@@ -952,7 +954,7 @@ def run_tenant_check(schedule_log_id: int, db: Session):
|
||||
logger.info(f"NC {nc_name}: not found, ensuring compose/DB and deploying")
|
||||
_ensure_tenant_compose(tenant, is_active)
|
||||
_ensure_nc_db(pg_host, pg_db, pg_port)
|
||||
ok = docker.ssh_compose_up(tenant.code)
|
||||
ok = docker.ssh_compose_up(deploy_name)
|
||||
result.nc_result = True if ok else False
|
||||
if not ok:
|
||||
fail_reasons.append("nc: deploy failed")
|
||||
@@ -963,7 +965,7 @@ def run_tenant_check(schedule_log_id: int, db: Session):
|
||||
elif nc_state is False:
|
||||
# 容器存在但已停止 → 重啟
|
||||
logger.info(f"NC {nc_name}: stopped, restarting")
|
||||
ok = docker.ssh_compose_up(tenant.code)
|
||||
ok = docker.ssh_compose_up(deploy_name)
|
||||
result.nc_result = True if ok else False
|
||||
if not ok:
|
||||
fail_reasons.append("nc: start failed")
|
||||
@@ -997,12 +999,12 @@ def run_tenant_check(schedule_log_id: int, db: Session):
|
||||
try:
|
||||
oo_state = docker.check_container_ssh(oo_name)
|
||||
if oo_state is None:
|
||||
ok = docker.ssh_compose_up(tenant.code)
|
||||
ok = docker.ssh_compose_up(deploy_name)
|
||||
result.office_result = True if ok else False
|
||||
if not ok:
|
||||
fail_reasons.append("oo: deploy failed")
|
||||
elif oo_state is False:
|
||||
ok = docker.ssh_compose_up(tenant.code)
|
||||
ok = docker.ssh_compose_up(deploy_name)
|
||||
result.office_result = True if ok else False
|
||||
if not ok:
|
||||
fail_reasons.append("oo: start failed")
|
||||
|
||||
Reference in New Issue
Block a user