From 4fcedfd5a9307030604565f65e514875d60ee727 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Fri, 11 Sep 2026 11:09:13 +0800 Subject: [PATCH] debug: fix YAML, use base64 script transfer --- .gitea/workflows/debug-web-v2.yml | 48 ++++++------------------------- 1 file changed, 9 insertions(+), 39 deletions(-) diff --git a/.gitea/workflows/debug-web-v2.yml b/.gitea/workflows/debug-web-v2.yml index 315330453..6679ae640 100644 --- a/.gitea/workflows/debug-web-v2.yml +++ b/.gitea/workflows/debug-web-v2.yml @@ -8,53 +8,23 @@ jobs: runs-on: runtime-builder timeout-minutes: 10 steps: - - name: Setup SSH and diagnose + - name: Setup SSH shell: bash env: STAGING_SSH_KEY: ${{ secrets.PREVIEW_SSH_KEY }} run: | - set -x + set -eux which ssh || (apt-get update -qq && apt-get install -y -qq openssh-client) mkdir -p ~/.ssh && chmod 700 ~/.ssh printf "%s" "$STAGING_SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa H=47.98.113.167; P=22222 ssh-keyscan -p $P -H $H >> ~/.ssh/known_hosts 2>/dev/null - ssh -p $P -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no root@$H 'bash -s' <<'REMOTE' + - name: Run diag via base64 + shell: bash + run: | set -x - echo "=== Current staging containers ===" - docker ps -a --filter name=xiaoxia-*-staging --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" - echo "" - echo "=== Web container logs (current/current-rolledback) ===" - docker logs xiaoxia-web-staging 2>&1 | tail -40 - echo "" - echo "=== Web inspect: env & mounts ===" - docker inspect xiaoxia-web-staging --format 'Entrypoint: {{.Config.Entrypoint}} Cmd: {{.Config.Cmd}}' - docker inspect xiaoxia-web-staging --format '{{range .Config.Env}}{{.}}{{"\n"}}{{end}}' | grep -E "APP_ENV|VERSION" - echo "Mounts:" - docker inspect xiaoxia-web-staging --format '{{range .Mounts}}{{.Type}} {{.Source}} -> {{.Destination}} (rw={{.RW}}){{"\n"}}{{end}}' - echo "" - echo "=== Reproduce: rm on read-only bind mount ===" - docker run --rm --name nginx-ro-test \ - -v /var/lib/xiaoxia-saas-staging/nginx-staging.conf:/etc/nginx/conf.d/default.conf:ro \ - git.xiaoxiajianji.com/xiaoxia/xiaoxia-saas/xiaoxia-saas-web:387514c \ - sh -c ' - set -x - echo "Before:" - ls -la /etc/nginx/conf.d/ - echo "Try rm (as entrypoint does):" - rm -f /etc/nginx/conf.d/default.conf - echo "rm exitcode=$?" - echo "After rm:" - ls -la /etc/nginx/conf.d/ - echo "Test ln:" - ln -s /etc/nginx/nginx-staging.conf /etc/nginx/conf.d/default.conf - echo "ln exitcode=$?" - ls -la /etc/nginx/conf.d/ - echo "nginx -t:" - nginx -t 2>&1 - ' 2>&1 - echo "" - echo "=== Also test with NEW fixed image (9c0d4b1 if present) ===" - docker images | grep xiaoxia-saas-web | head -5 -REMOTE + echo 'IyEvYmluL2Jhc2gKc2V0IC14CmVjaG8gIj09PSBDdXJyZW50IHN0YWdpbmcgY29udGFpbmVycyA9PT0iCmRvY2tlciBwcyAtYSAtLWZpbHRlciBuYW1lPXhpYW94aWEtKi1zdGFnaW5nIC0tZm9ybWF0ICJ0YWJsZSB7ey5OYW1lc319XHR7ey5TdGF0dXN9fVx0e3suSW1hZ2V9fSIKZWNobyAiIgplY2hvICI9PT0gV2ViIGNvbnRhaW5lciBsb2dzIChjdXJyZW50L3JvbGxlZC1iYWNrKSA9PT0iCmRvY2tlciBsb2dzIHhpYW94aWEtd2ViLXN0YWdpbmcgMj4mMSB8IHRhaWwgLTQwCmVjaG8gIiIKZWNobyAiPT09IFdlYiBpbnNwZWN0OiBlbnYgJiBtb3VudHMgPT09Igpkb2NrZXIgaW5zcGVjdCB4aWFveGlhLXdlYi1zdGFnaW5nIC0tZm9ybWF0ICdFbnRyeXBvaW50OiB7ey5Db25maWcuRW50cnlwb2ludH19IENtZDoge3suQ29uZmlnLkNtZH19Jwpkb2NrZXIgaW5zcGVjdCB4aWFveGlhLXdlYi1zdGFnaW5nIC0tZm9ybWF0ICd7e3JhbmdlIC5Db25maWcuRW52fX17ey59fXt7IlxuIn19e3tlbmR9fScgfCBncmVwIC1FICJBUFBfRU5WfFZFUlNJT04iCmVjaG8gIk1vdW50czoiCmRvY2tlciBpbnNwZWN0IHhpYW94aWEtd2ViLXN0YWdpbmcgLS1mb3JtYXQgJ3t7cmFuZ2UgLk1vdW50c319e3suVHlwZX19IHt7LlNvdXJjZX19IC0+IHt7LkRlc3RpbmF0aW9ufX0gKHJ3PXt7LlJXfX0pe3siXG4ifX17e2VuZH19JwplY2hvICIiCmVjaG8gIj09PSBSZXByb2R1Y2U6IHJtIG9uIHJlYWQtb25seSBiaW5kIG1vdW50IChpbWFnZSAzODc1MTRjKSA9PT0iCmRvY2tlciBydW4gLS1ybSAtLW5hbWUgbmdpbngtcm8tdGVzdCBcCiAgLXYgL3Zhci9saWIveGlhb3hpYS1zYWFzLXN0YWdpbmcvbmdpbngtc3RhZ2luZy5jb25mOi9ldGMvbmdpbngvY29uZi5kL2RlZmF1bHQuY29uZjpybyBcCiAgZ2l0LnhpYW94aWFqaWFuamkuY29tL3hpYW94aWEveGlhb3hpYS1zYWFzL3hpYW94aWEtc2Fhcy13ZWI6Mzg3NTE0YyBcCiAgL2Jpbi9zaCAtYyAnc2V0IC14OyBlY2hvIEJFRk9SRTsgbHMgLWxhIC9ldGMvbmdpbngvY29uZi5kLzsgcm0gLWYgL2V0Yy9uZ2lueC9jb25mLmQvZGVmYXVsdC5jb25mOyBlY2hvICJybSBleGl0PSQ/IjsgZWNobyBBRlRFUjsgbHMgLWxhIC9ldGMvbmdpbngvY29uZi5kLycgMj4mMQplY2hvICIiCmVjaG8gIj09PSBMb2NhbCB3ZWIgaW1hZ2VzIGF2YWlsYWJsZSA9PT0iCmRvY2tlciBpbWFnZXMgfCBncmVwIHhpYW94aWEtc2Fhcy13ZWIgfCBoZWFkIC01Cg==' | base64 -d > /tmp/diag.sh + chmod +x /tmp/diag.sh + cat /tmp/diag.sh + ssh -p 22222 -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no root@47.98.113.167 'bash -s' < /tmp/diag.sh