name: Deploy Nexus Portal to HestiaCP (FTP) on: push: branches: - master # Branche principale confirmée jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Patch DNS local pour Gitea Runner run: sudo echo "10.10.40.31 git.bunker.lan" | sudo tee -a /etc/hosts - name: Récupération du code uses: actions/checkout@v4 - name: Configuration de Node.js uses: actions/setup-node@v4 with: node-version: 22 - name: Installation des dépendances (React/Vite) run: npm ci - name: Compilation de la Build (Nexus) run: npm run build - name: Installation de lftp run: sudo apt-get update && sudo apt-get install -y lftp - name: Déploiement FTP vers HestiaCP (10.10.40.12) env: FTP_USER: ${{ secrets.FTP_USER }} # Le compte FTP enfermé dans nexus.gise.be FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }} FTP_SERVER: ${{ secrets.FTP_SERVER }} # Doit contenir : 10.10.40.12 run: | cat << EOF > script.lftp set ftp:ssl-allow yes set ssl:verify-certificate no open -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_SERVER}" # Accès direct au dossier public du domaine cd public_html # Synchronisation miroir de la build React vers le serveur mirror -R --delete --verbose dist/ ./ quit EOF lftp -f script.lftp