🔑 SSH-KEY FIX: Direkte SSH-Verbindung statt SSH-Config
❌ PROBLEM IDENTIFIZIERT: - SSH-Error: 'Load key error in libcrypto' + 'Permission denied (publickey)' - SSH-Config wurde im CI-Container nicht korrekt interpretiert - Network Bridge funktioniert ✅ aber SSH-Auth schlägt fehl ✅ LÖSUNG IMPLEMENTIERT: - Direkte SSH-Verbindung: ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 - Alle SSH-Verbindungen verwenden jetzt explizite Key-Parameter - SSH-Config umgangen für maximale Kompatibilität - SSH-Key-Validierung hinzugefügt: ssh-keygen -y -f ~/.ssh/pp1l_prod_key 🎮 MINECRAFT INTEGRATION TEST bereit: - Vollständige 8-Phasen-Pipeline mit direkter SSH-Verbindung - Installation → Test → Logs → Cleanup → Verifikation - Echte gameadm Installation im Production Environment - Container-Start mit Log-Analyse und Pattern-Erkennung - Komplettes Cleanup-System mit Verifikation 🚀 ENDLICH: ECHTE MINECRAFT TESTS statt Fallback
This commit is contained in:
parent
a29d4bed30
commit
511a91287e
|
|
@ -224,33 +224,35 @@ steps:
|
|||
- echo " ConnectTimeout 10" >> ~/.ssh/config
|
||||
- chmod 600 ~/.ssh/config
|
||||
- if nc -z 10.88.7.60 2222 2>/dev/null; then
|
||||
- if ssh prod-env 'echo "SSH OK"'; then
|
||||
- echo "Port erreichbar - teste SSH-Verbindung mit Debug-Ausgabe"
|
||||
- ssh-keygen -y -f ~/.ssh/pp1l_prod_key > /tmp/test_pubkey.pub 2>&1 && echo "SSH-Key ist lokal gültig" || echo "SSH-Key Problem erkannt"
|
||||
- if ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no -o ConnectTimeout=10 prod@10.88.7.60 -p 2222 'echo "SSH OK"'; then
|
||||
- echo "2. Minecraft Installation via gameadm"
|
||||
- ssh prod-env 'curl -fsSL https://git.pp1l.de/pp1l/gameadm/raw/branch/main/install.sh | sudo bash'
|
||||
- ssh prod-env 'sudo gameadm install mc --force'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'curl -fsSL https://git.pp1l.de/pp1l/gameadm/raw/branch/main/install.sh | sudo bash'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo gameadm install mc --force'
|
||||
- echo ""
|
||||
- echo "3. Minecraft Server Test mit Log-Auslesen"
|
||||
- ssh prod-env 'echo "Starting Minecraft Server Test..."'
|
||||
- ssh prod-env 'timeout 30 sudo gameadm mc start 2>&1 | tee /tmp/mc_start.log || echo "Test completed"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'echo "Starting Minecraft Server Test..."'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'timeout 30 sudo gameadm mc start 2>&1 | tee /tmp/mc_start.log || echo "Test completed"'
|
||||
- echo ""
|
||||
- echo "4. Log-Analyse - Minecraft Server Start"
|
||||
- ssh prod-env 'echo "=== MINECRAFT START LOGS ===" && cat /tmp/mc_start.log'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'echo "=== MINECRAFT START LOGS ===" && cat /tmp/mc_start.log'
|
||||
- echo ""
|
||||
- echo "5. Container Status Check"
|
||||
- ssh prod-env 'sudo podman ps -a | grep minecraft || echo "Keine Minecraft Container gefunden"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo podman ps -a | grep minecraft || echo "Keine Minecraft Container gefunden"'
|
||||
- echo ""
|
||||
- echo "6. Log-Analyse - Erwartete Patterns prüfen"
|
||||
- ssh prod-env 'if grep -q "overlay.*not supported\|configure storage\|Starting Server\|server.properties" /tmp/mc_start.log; then echo "✅ Minecraft Setup erkannt"; else echo "⚠️ Unexpected log pattern"; fi'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'if grep -q "overlay.*not supported\|configure storage\|Starting Server\|server.properties" /tmp/mc_start.log; then echo "✅ Minecraft Setup erkannt"; else echo "⚠️ Unexpected log pattern"; fi'
|
||||
- echo ""
|
||||
- echo "7. Production System Cleanup Check"
|
||||
- ssh prod-env 'echo "Cleanup - Entferne gameadm Installation..."'
|
||||
- ssh prod-env 'sudo rm -rf /usr/local/bin/gameadm* /etc/gameadm/ /etc/minecraft-server.conf /srv/minecraft /tmp/mc_start.log'
|
||||
- ssh prod-env 'sudo podman system prune -f 2>/dev/null || echo "Container cleanup completed"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'echo "Cleanup - Entferne gameadm Installation..."'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo rm -rf /usr/local/bin/gameadm* /etc/gameadm/ /etc/minecraft-server.conf /srv/minecraft /tmp/mc_start.log'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo podman system prune -f 2>/dev/null || echo "Container cleanup completed"'
|
||||
- echo ""
|
||||
- echo "8. Cleanup Verification"
|
||||
- ssh prod-env 'if [ ! -f /usr/local/bin/gameadm ]; then echo "✅ gameadm erfolgreich entfernt"; else echo "❌ gameadm noch vorhanden"; fi'
|
||||
- ssh prod-env 'if [ ! -d /etc/gameadm ]; then echo "✅ Config-Verzeichnis entfernt"; else echo "❌ Config noch vorhanden"; fi'
|
||||
- ssh prod-env 'if [ ! -d /srv/minecraft ]; then echo "✅ Minecraft-Daten entfernt"; else echo "❌ Minecraft-Daten noch vorhanden"; fi'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'if [ ! -f /usr/local/bin/gameadm ]; then echo "✅ gameadm erfolgreich entfernt"; else echo "❌ gameadm noch vorhanden"; fi'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'if [ ! -d /etc/gameadm ]; then echo "✅ Config-Verzeichnis entfernt"; else echo "❌ Config noch vorhanden"; fi'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'if [ ! -d /srv/minecraft ]; then echo "✅ Minecraft-Daten entfernt"; else echo "❌ Minecraft-Daten noch vorhanden"; fi'
|
||||
- echo ""
|
||||
- echo "🎉 MINECRAFT INTEGRATION TEST VOLLSTÄNDIG"
|
||||
- else
|
||||
|
|
@ -302,22 +304,22 @@ steps:
|
|||
- if nc -z 10.88.7.60 2222 2>/dev/null; then
|
||||
- echo "✅ Production Environment Port 2224 ist erreichbar"
|
||||
- echo "Teste SSH-Verbindung zum Production Environment"
|
||||
- if ssh prod-env 'echo "SSH-Verbindung erfolgreich - $(whoami)@$(hostname)"'; then
|
||||
- if ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no -o ConnectTimeout=10 prod@10.88.7.60 -p 2222 'echo "SSH-Verbindung erfolgreich - $(whoami)@$(hostname)"'; then
|
||||
- echo "🎉 SSH-VERBINDUNG ERFOLGREICH - Starte echte Tests"
|
||||
- echo "1. Prüfe Clean State vor Test"
|
||||
- ssh prod-env 'which gameadm && echo "⚠️ gameadm bereits installiert - führe Cleanup durch" || echo "✅ Clean State bestätigt"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'which gameadm && echo "⚠️ gameadm bereits installiert - führe Cleanup durch" || echo "✅ Clean State bestätigt"'
|
||||
- echo "2. Vollautomatische gameadm Installation im Production Environment"
|
||||
- ssh prod-env 'curl -fsSL https://git.pp1l.de/pp1l/gameadm/raw/branch/main/install.sh | sudo bash'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'curl -fsSL https://git.pp1l.de/pp1l/gameadm/raw/branch/main/install.sh | sudo bash'
|
||||
- echo "3. Teste modulare Game Server Installation"
|
||||
- ssh prod-env 'sudo gameadm install mc --force && sudo gameadm install rust --force'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo gameadm install mc --force && sudo gameadm install rust --force'
|
||||
- echo "4. Validiere Installation"
|
||||
- ssh prod-env 'gameadm --version && gameadm list && echo "✅ Production Installation erfolgreich"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'gameadm --version && gameadm list && echo "✅ Production Installation erfolgreich"'
|
||||
- echo "5. Teste Container-Start (CI-Storage-Limitation erwartet)"
|
||||
- ssh prod-env 'timeout 10 sudo gameadm mc start 2>&1 | head -20 || echo "Container-Test abgeschlossen"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'timeout 10 sudo gameadm mc start 2>&1 | head -20 || echo "Container-Test abgeschlossen"'
|
||||
- echo "6. Cleanup für Clean State"
|
||||
- ssh prod-env 'sudo rm -rf /usr/local/bin/gameadm* /etc/gameadm/ /etc/*-server.conf /srv/minecraft /srv/rust /root/secrets'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'sudo rm -rf /usr/local/bin/gameadm* /etc/gameadm/ /etc/*-server.conf /srv/minecraft /srv/rust /root/secrets'
|
||||
- echo "7. Bestätige Clean State"
|
||||
- ssh prod-env 'which gameadm && echo "❌ ERROR - Cleanup fehlgeschlagen" || echo "✅ Clean State wiederhergestellt"'
|
||||
- ssh -i ~/.ssh/pp1l_prod_key -o StrictHostKeyChecking=no prod@10.88.7.60 -p 2222 'which gameadm && echo "❌ ERROR - Cleanup fehlgeschlagen" || echo "✅ Clean State wiederhergestellt"'
|
||||
- echo "🎉 PRODUCTION ENVIRONMENT TEST VOLLSTÄNDIG ERFOLGREICH"
|
||||
- else
|
||||
- echo "⚠️ SSH-Verbindung fehlgeschlagen - Production Environment nicht erreichbar"
|
||||
|
|
|
|||
Loading…
Reference in New Issue