53 lines
1.9 KiB
Bash
53 lines
1.9 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
SERVER_HOST="${SERVER_HOST:-192.168.1.89}"
|
|
SERVER_USER="${SERVER_USER:-flagabat}"
|
|
SERVER_PASS="${SERVER_PASS:-SuperTeam2026!}"
|
|
PROJECT_DIR="${PROJECT_DIR:-$(dirname "$0")/..}"
|
|
DEPLOY_DIR="/tmp/dauphincraft_deploy_$$"
|
|
|
|
cd "$PROJECT_DIR"
|
|
|
|
# Vérifier artifacts
|
|
[ -f builds/DauphinCraft-Server-v0.1.tar.gz ] || { echo "ERREUR: builds/DauphinCraft-Server-v0.1.tar.gz manquant"; exit 1; }
|
|
[ -f deploy/install.sh ] || { echo "ERREUR: deploy/install.sh manquant"; exit 1; }
|
|
[ -f deploy/dauphincraft.service ] || { echo "ERREUR: deploy/dauphincraft.service manquant"; exit 1; }
|
|
|
|
# Fonctions SSH/SCP avec password
|
|
run_remote() {
|
|
if command -v sshpass >/dev/null; then
|
|
sshpass -p "$SERVER_PASS" ssh -o StrictHostKeyChecking=no "$SERVER_USER@$SERVER_HOST" "$@"
|
|
elif command -v plink >/dev/null; then
|
|
echo "y" | plink -ssh -pw "$SERVER_PASS" "$SERVER_USER@$SERVER_HOST" "$@"
|
|
else
|
|
echo "ERREUR: sshpass ni plink disponibles"; exit 1
|
|
fi
|
|
}
|
|
copy_remote() {
|
|
if command -v sshpass >/dev/null; then
|
|
sshpass -p "$SERVER_PASS" scp -o StrictHostKeyChecking=no "$1" "$SERVER_USER@$SERVER_HOST:$2"
|
|
elif command -v pscp >/dev/null; then
|
|
echo "y" | pscp -pw "$SERVER_PASS" "$1" "$SERVER_USER@$SERVER_HOST:$2"
|
|
else
|
|
echo "ERREUR: scp ni pscp disponibles"; exit 1
|
|
fi
|
|
}
|
|
|
|
echo "=== Création dossier distant ==="
|
|
run_remote "mkdir -p $DEPLOY_DIR"
|
|
|
|
echo "=== Upload artifacts ==="
|
|
copy_remote "builds/DauphinCraft-Server-v0.1.tar.gz" "$DEPLOY_DIR/"
|
|
copy_remote "deploy/install.sh" "$DEPLOY_DIR/"
|
|
copy_remote "deploy/dauphincraft.service" "$DEPLOY_DIR/"
|
|
|
|
echo "=== Extract + install ==="
|
|
run_remote "cd $DEPLOY_DIR && tar xzf DauphinCraft-Server-v0.1.tar.gz && chmod +x install.sh DauphinCraftServer.x86_64 run_server.sh 2>/dev/null && sudo -S ./install.sh" <<< "$SERVER_PASS"
|
|
|
|
echo "=== Vérif service ==="
|
|
run_remote "systemctl status dauphincraft.service --no-pager 2>&1 | head -15"
|
|
run_remote "ss -uln | grep 7777"
|
|
|
|
echo "=== Deploy terminé ==="
|