7864ab404b
**目录结构**: - scripts/ 顶层运维/工具脚本(20 个) - scripts/deploy/ 一键部署脚本(deploy_*.py / upload_*.py / redeploy.py 等 8 个) - scripts/fix/ 一次性修复脚本(fix_*.py / fix_*.cypher / fix_*.sql 等 9 个) - scripts/debug/ 调试脚本集合(check_*.py/sql、test_*.py、debug_*.py 等 42 个) **ops-tools/jms_ops.py**:jumpserver-ops skill 默认路径修复 - 从 'jumpserver-automation-shareable' 改为 'jumpserver-ops' - 同步更新注释(优先 JP_SKILL_DIR 环境变量) **典型脚本用途**: - scripts/deploy-v1.2.ps1 / -staging.ps1:一键部署 v1.2 到生产 / staging - scripts/init_quick_rules.sql:quick_rules 表初始数据 - scripts/gen_admin_token.py:生成 admin JWT token(调试用) - scripts/build-and-verify.sh:v1.1 实施验证脚本 - scripts/verify_*.sh / .py:API/quick_rules 验证 - scripts/fix/*.py:环境修复(compose、env_key、itsm_bridge 等) 合计 81 文件 + 3317 行 / - 1 行
47 lines
1.5 KiB
Bash
47 lines
1.5 KiB
Bash
#!/bin/bash
|
|
set +e # collect everything, don't bail
|
|
|
|
echo '############ STEP 1: Locate project directory ############'
|
|
cd /opt/wecom-it-desk 2>&1
|
|
echo "Current dir: $(pwd)"
|
|
ls -la docker-compose.yml 2>&1
|
|
echo ''
|
|
|
|
echo '############ STEP 2: Diagnose (READ-ONLY) ############'
|
|
echo '--- All wecom_it_ containers ---'
|
|
docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -E "wecom_it_|NAMES"
|
|
echo ''
|
|
echo '--- Disk space ---'
|
|
df -h /opt 2>&1
|
|
echo ''
|
|
echo '--- backend last 60 log lines ---'
|
|
docker logs wecom_it_backend --tail 60 2>&1
|
|
echo ''
|
|
echo '--- backend internal health check ---'
|
|
docker exec wecom_it_backend curl -s -o - -w "\nHTTP_CODE: %{http_code}\n" --max-time 5 http://localhost:8000/health 2>&1
|
|
echo ''
|
|
|
|
echo '############ STEP 3: Restart from correct directory ############'
|
|
cd /opt/wecom-it-desk
|
|
docker compose up -d 2>&1
|
|
echo ''
|
|
echo 'Waiting 15s for services to stabilize...'
|
|
sleep 15
|
|
echo ''
|
|
echo '--- Containers after restart ---'
|
|
docker ps -a --format "table {{.Names}}\t{{.Status}}" | grep -E "wecom_it_|NAMES"
|
|
echo ''
|
|
|
|
echo '############ STEP 4: End-to-end verification ############'
|
|
echo '--- backend /health ---'
|
|
curl -s -o - -w "\nHTTP_CODE: %{http_code}\n" --max-time 5 http://localhost:8000/health
|
|
echo ''
|
|
echo '--- nginx routes (expect 200/301/302) ---'
|
|
for path in / /itagent/ /ith5/ /itadmin/; do
|
|
code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 5 "http://localhost${path}")
|
|
echo " $path -> HTTP $code"
|
|
done
|
|
echo ''
|
|
echo '############ DONE ############'
|
|
echo 'Paste ALL output above back to Claude for diagnosis'
|