diff --git a/.gitea/workflows/check-pr.yml b/.gitea/workflows/check-pr.yml new file mode 100644 index 0000000..e7f1a44 --- /dev/null +++ b/.gitea/workflows/check-pr.yml @@ -0,0 +1,50 @@ +name: Vérification PR +run-name: Vérification PR de ${{ gitea.actor }} +on: + pull_request: + branches: + - master + +jobs: + build: + 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: Installer les dépendances + run: yarn install --frozen-lockfile + + - name: Build Strapi + run: yarn build + + deploy-beta: + needs: build + runs-on: ubuntu-latest + steps: + - name: Pré-déployer sur BETA pour test + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USER }} + key: ${{ secrets.SSH_KEY }} + script: | + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + cd ${{ secrets.DEPLOY_PATH }} + git fetch origin + git checkout ${{ gitea.head.ref }} + git pull --ff-only origin ${{ gitea.head.ref }} + corepack enable + yarn install --frozen-lockfile + NODE_ENV=production yarn build + pm2 describe api-beta-pawol > /dev/null 2>&1 \ + && pm2 restart api-beta-pawol \ + || pm2 start yarn --name api-beta-pawol -- start diff --git a/.gitea/workflows/deploy-beta.yml b/.gitea/workflows/deploy-beta.yml new file mode 100644 index 0000000..7f8d05c --- /dev/null +++ b/.gitea/workflows/deploy-beta.yml @@ -0,0 +1,48 @@ +name: Déploiement API BETA +run-name: ${{ gitea.actor }} déploie API BETA +on: + push: + branches: + - dev + +jobs: + build: + 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: Installer les dépendances + run: yarn install --frozen-lockfile + + - name: Build Strapi + run: yarn build + + deploy: + needs: build + 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: | + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + cd ${{ secrets.DEPLOY_PATH }} + git pull --ff-only origin dev + corepack enable + yarn install --frozen-lockfile + NODE_ENV=production yarn build + pm2 describe api-beta-pawol > /dev/null 2>&1 \ + && pm2 restart api-beta-pawol \ + || pm2 start yarn --name api-beta-pawol -- start diff --git a/.gitea/workflows/deploy-prod.yml b/.gitea/workflows/deploy-prod.yml new file mode 100644 index 0000000..bbcf9d1 --- /dev/null +++ b/.gitea/workflows/deploy-prod.yml @@ -0,0 +1,48 @@ +name: Déploiement API PROD +run-name: ${{ gitea.actor }} déploie API PROD +on: + push: + branches: + - master + +jobs: + build: + 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: Installer les dépendances + run: yarn install --frozen-lockfile + + - name: Build Strapi + run: yarn build + + deploy: + needs: build + 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: | + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + cd ${{ secrets.PROD_DEPLOY_PATH }} + git pull --ff-only origin master + corepack enable + yarn install --frozen-lockfile + NODE_ENV=production yarn build + pm2 describe api-pawol > /dev/null 2>&1 \ + && pm2 restart api-pawol \ + || pm2 start yarn --name api-pawol -- start