64 lines
2.2 KiB
YAML
64 lines
2.2 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: '20'
|
|
|
|
- name: Update package lock
|
|
run: npm install --package-lock-only
|
|
|
|
- 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 with more verbose output
|
|
mkdir -p ~/.ssh
|
|
echo "Saving SSH key..."
|
|
echo "$DEPLOY_SSH_KEY" > ~/.ssh/deployer_key
|
|
chmod 600 ~/.ssh/deployer_key
|
|
echo "SSH key saved with proper permissions"
|
|
|
|
# Debug - show ssh key format (redacting content)
|
|
head -n 1 ~/.ssh/deployer_key
|
|
|
|
# Add server to known hosts
|
|
ssh-keyscan -t rsa 130.61.236.31 >> ~/.ssh/known_hosts
|
|
echo "Server added to known hosts"
|
|
|
|
# Test connection first
|
|
echo "Testing SSH connection..."
|
|
ssh -v -i ~/.ssh/deployer_key -o StrictHostKeyChecking=no deployer@130.61.236.31 'echo "SSH connection successful"'
|
|
|
|
# Deploy to server if connection successful
|
|
echo "Deploying files to server..."
|
|
rsync -avz -e "ssh -i ~/.ssh/deployer_key -o StrictHostKeyChecking=no" --delete deploy/ deployer@130.61.236.31:~/app.spletnimojster.si/
|
|
|
|
# Install dependencies and restart service on the server
|
|
echo "Installing dependencies and restarting service..."
|
|
ssh -i ~/.ssh/deployer_key -o StrictHostKeyChecking=no deployer@130.61.236.31 'cd ~/app.spletnimojster.si && npm install --omit=dev && pm2 restart rezervacije || pm2 start server.cjs --name "rezervacije" -- --port 3169' |