# v1.1 选项选择持久化 - 后端部署批处理 # 执行者: jumpserver-V2 batch # ============ Step 1: 校验上传文件存在 ============ ls -la /tmp/backend_observer.py /tmp/api_backend_observer.py /tmp/router.py /tmp/ws.py /tmp/h5.py /tmp/h5_ai_task.py # ============ Step 2: md5 双路径验证(与本地对比)============ echo "--- md5 uploaded ---" md5sum /tmp/backend_observer.py /tmp/api_backend_observer.py /tmp/router.py /tmp/ws.py /tmp/h5.py /tmp/h5_ai_task.py # ============ Step 3: 容器内语法检查(不重启先验证)============ echo "--- syntax check in container ---" docker exec wecom_it_backend python -m py_compile /app/app/services/backend_observer.py docker exec wecom_it_backend python -m py_compile /app/app/api/backend_observer.py docker exec wecom_it_backend python -m py_compile /app/app/api/router.py docker exec wecom_it_backend python -m py_compile /app/app/api/ws.py docker exec wecom_it_backend python -m py_compile /app/app/api/h5.py docker exec wecom_it_backend python -m py_compile /app/app/tasks/h5_ai_task.py # ============ Step 4: 复制文件到容器路径 ============ echo "--- copy to container path ---" sudo cp /tmp/backend_observer.py /opt/wecom-it-desk/app/services/backend_observer.py sudo cp /tmp/api_backend_observer.py /opt/wecom-it-desk/app/api/backend_observer.py sudo cp /tmp/router.py /opt/wecom-it-desk/app/api/router.py sudo cp /tmp/ws.py /opt/wecom-it-desk/app/api/ws.py sudo cp /tmp/h5.py /opt/wecom-it-desk/app/api/h5.py sudo cp /tmp/h5_ai_task.py /opt/wecom-it-desk/app/tasks/h5_ai_task.py # ============ Step 5: 容器内文件 md5 双路径一致 ============ echo "--- md5 in container ---" docker exec wecom_it_backend md5sum /app/app/services/backend_observer.py /app/app/api/backend_observer.py /app/app/api/router.py /app/app/api/ws.py /app/app/api/h5.py /app/app/tasks/h5_ai_task.py # ============ Step 6: 重启 backend(仍 --workers 1)============ echo "--- restart backend ---" docker restart wecom_it_backend # ============ Step 7: 健康检查 ============ echo "--- health check ---" sleep 8 docker exec wecom_it_backend curl -s http://127.0.0.1:8000/health echo "" echo "--- backend-observer 路由注册检查 ---" docker exec wecom_it_backend python -c "from app.api import backend_observer; print('OK', backend_observer.__file__)" # ============ Step 8: BackendObserver 4 指标可见 ============ echo "--- BackendObserver metrics ---" docker exec wecom_it_backend curl -s http://127.0.0.1:8000/api/backend-observer/metrics echo ""