Files
pawol.nu/.gitea/workflows/deploy-beta.yml
T
cedric 4bc545ac72 fix: ne jamais redémarrer pm2 sur un build cassé
Ajoute set -e aux scripts de déploiement (prod, beta, pré-déploiement
PR) : si git pull, yarn install ou yarn build échoue, le script
s'arrête immédiatement au lieu de continuer et de redémarrer pm2 sur
un .next incomplet — l'ancien build en cours d'exécution reste servi
au lieu de crasher (502).
2026-07-04 23:15:47 +04:00

52 lines
1.3 KiB
YAML

name: Déploiement FRONT BETA
run-name: ${{ gitea.actor }} déploie FRONT BETA
on:
push:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Activer Corepack (yarn)
run: corepack enable
- name: Vérifier les dépendances
run: yarn install --frozen-lockfile
- name: Lancer le lint
run: yarn lint
- name: Lancer les tests
run: yarn test
deploy:
needs: check
runs-on: ubuntu-latest
steps:
- name: Déployer sur le serveur
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
set -e
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
cd ${{ secrets.FRONT_DEPLOY_PATH }}
git fetch origin
git checkout -B ${{ gitea.ref_name }} origin/${{ gitea.ref_name }}
corepack enable
yarn install --frozen-lockfile
yarn build
pm2 describe app-beta-pawol > /dev/null 2>&1 \
&& pm2 restart app-beta-pawol \
|| pm2 start yarn --name app-beta-pawol -- start -p ${{ secrets.DEV_PORT }}