diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..6ce4adb --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,61 @@ +name: Deploy CV BAH + +on: + push: + branches: + - master # Branche principale confirmée + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + # 1. On désactive la vérification SSL pour tout le conteneur du job (Node.js et Git) + env: + GIT_SSL_NO_VERIFY: "true" + NODE_TLS_REJECT_UNAUTHORIZED: "0" + + steps: + - name: Patch DNS local pour Gitea Runner + run: sudo echo "10.10.40.31 git.bunker.lan" | sudo tee -a /etc/hosts + + # 2. On force l'exécutable Git interne à ignorer la vérification de l'autorité locale + - name: Configuration de Git pour SSL + run: git config --global http.sslVerify false + + - 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 \ No newline at end of file