diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..962d87e --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,52 @@ +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 \ No newline at end of file