name: Build and Deploy on: push: branches: - master jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' - name: Install dependencies run: npm ci - name: Build project run: npm run build - name: Deploy to server env: DEPLOY_SSH_KEY: ${{ secrets.DEPLOYER_KEY }} run: | echo "Deploying to app.spletnimojster.si on port 3169" # Create deployment package mkdir -p deploy cp -r dist/* deploy/ cp server.cjs deploy/ cp package.json deploy/ # Setup SSH for deployment mkdir -p ~/.ssh echo "$DEPLOY_SSH_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -t rsa 130.61.236.31 >> ~/.ssh/known_hosts # Deploy to server rsync -avz --delete deploy/ deployer@130.61.236.31:~/app.spletnimojster.si/ # Install dependencies and restart service on the server ssh deployer@130.61.236.31 'cd ~/app.spletnimojster.si && npm install --omit=dev && pm2 restart rezervacije || pm2 start server.cjs --name "rezervacije" -- --port 3169'