47 lines
1.3 KiB
YAML
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' |