49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
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}"
|
|
cd home/${FTP_USER}
|
|
# On est déjà chrooté dans /public_html, on lance directement le transfert
|
|
mirror -R --delete --verbose dist/ ./
|
|
quit
|
|
EOF
|
|
|
|
lftp -f script.lftp |