52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
name: Deploy Aegis Portal
|
|
|
|
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 (Aegis)
|
|
run: npm run build
|
|
|
|
- name: Installation de lftp
|
|
run: sudo apt-get update && sudo apt-get install -y lftp
|
|
|
|
- name: Déploiement FTP (10.10.40.12)
|
|
env:
|
|
FTP_USER: ${{ secrets.FTP_USER }} # Le compte FTP enfermé dans aegis.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:passive-mode true
|
|
set ftp:ssl-allow no
|
|
set ssl:verify-certificate no
|
|
set net:timeout 5
|
|
set net:max-retries 2
|
|
set dns:fatal-timeout 2
|
|
open -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_SERVER}"
|
|
cd home/${FTP_USER}
|
|
mirror -R --delete --verbose dist/ ./
|
|
quit
|
|
EOF
|
|
|
|
lftp -f script.lftp |