name: Deploy Next.js via SSH on: [push] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Blue-Green Deploy via SSH uses: appleboy/ssh-action@master with: host: 10.1.1.124 username: juru key: ${{ secrets.SSH_PRIVATE_KEY }} script: | RELEASE_NAME=release-$(date +%Y%m%d%H%M%S) RELEASE_PATH=/home/juru/apps/releases/$RELEASE_NAME git clone http://10.1.1.124:3000/joelson/Portal-dias-rota.git $RELEASE_PATH cd $RELEASE_PATH npm install npm run build ln -sfn $RELEASE_PATH /home/juru/apps/current pm2 reload portal-dias-rota || pm2 start /home/juru/apps/current/ecosystem.config.js ls -dt /home/juru/apps/releases/* | tail -n +5 | xargs rm -rf