Rezervacije/.gitea/workflows/build-deploy.yml

47 lines
1.3 KiB
YAML

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'