Add dev branch deployment support
All checks were successful
Build & Deploy OS League Tools / build-and-deploy (push) Successful in 36s

This commit is contained in:
2026-01-17 01:00:47 +00:00
parent 5942e80ebf
commit 85b4ebb6c4
4 changed files with 57 additions and 4 deletions

View File

@@ -4,10 +4,10 @@ on:
push: push:
branches: branches:
- main - main
- dev
env: env:
FRONTEND_HOST: psg-leagues-tools-frontend FRONTEND_HOST: psg-leagues-tools-frontend
DEPLOY_PATH: /home/sonder/leagues-tools/os-league-tools-master
jobs: jobs:
build-and-deploy: build-and-deploy:
@@ -16,6 +16,18 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set environment variables
run: |
if [ "${{ github.ref_name }}" = "main" ]; then
echo "DEPLOY_PATH=/home/sonder/leagues-tools/os-league-tools-master" >> $GITHUB_ENV
echo "SERVICE_NAME=os-league-tools" >> $GITHUB_ENV
echo "ENVIRONMENT=production" >> $GITHUB_ENV
else
echo "DEPLOY_PATH=/home/sonder/leagues-tools-dev/os-league-tools-master" >> $GITHUB_ENV
echo "SERVICE_NAME=os-league-tools-dev" >> $GITHUB_ENV
echo "ENVIRONMENT=development" >> $GITHUB_ENV
fi
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
@@ -46,9 +58,12 @@ jobs:
- name: Deploy to frontend server - name: Deploy to frontend server
run: | run: |
ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl stop os-league-tools || true" echo "Deploying ${{ env.ENVIRONMENT }} to ${{ env.DEPLOY_PATH }}"
ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl stop ${{ env.SERVICE_NAME }} || true"
ssh sonder@${{ env.FRONTEND_HOST }} "mkdir -p ${{ env.DEPLOY_PATH }}"
ssh sonder@${{ env.FRONTEND_HOST }} "rm -rf ${{ env.DEPLOY_PATH }}/build" ssh sonder@${{ env.FRONTEND_HOST }} "rm -rf ${{ env.DEPLOY_PATH }}/build"
scp os-league-tools-master/build.tar.gz sonder@${{ env.FRONTEND_HOST }}:/tmp/ scp os-league-tools-master/build.tar.gz sonder@${{ env.FRONTEND_HOST }}:/tmp/
ssh sonder@${{ env.FRONTEND_HOST }} "tar -xzf /tmp/build.tar.gz -C ${{ env.DEPLOY_PATH }}/" ssh sonder@${{ env.FRONTEND_HOST }} "tar -xzf /tmp/build.tar.gz -C ${{ env.DEPLOY_PATH }}/"
ssh sonder@${{ env.FRONTEND_HOST }} "rm /tmp/build.tar.gz" ssh sonder@${{ env.FRONTEND_HOST }} "rm /tmp/build.tar.gz"
ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl start os-league-tools" ssh sonder@${{ env.FRONTEND_HOST }} "sudo systemctl start ${{ env.SERVICE_NAME }}"
echo "Deployed ${{ env.ENVIRONMENT }} successfully!"

5
.gitignore vendored
View File

@@ -55,3 +55,8 @@ os-league-tools-master//.vscode
.claude/settings.local.json .claude/settings.local.json
nul nul
blake2tokenhasher-test/*.*
group-ironmen-master/*.*
group-ironmen-tracker-master/*.*
tasks-tracker-plugin-master/*.*

View File

@@ -0,0 +1,33 @@
[Unit]
Description=OS League Tools - Dev Environment
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=sonder
Group=sonder
WorkingDirectory=/home/sonder/leagues-tools-dev/os-league-tools-master
# Environment variables
Environment="NODE_ENV=production"
Environment="PORT=3001"
# Start the application (serves the pre-built static files)
ExecStart=/usr/bin/serve -s build -l tcp://0.0.0.0:3001
# Restart policy
Restart=on-failure
RestartSec=10s
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=os-league-tools-dev
# Security hardening
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@@ -16,7 +16,7 @@ Environment="PORT=3000"
# Environment="REACT_APP_RELDO_URL=http://localhost:8080" # Environment="REACT_APP_RELDO_URL=http://localhost:8080"
# Start the application (serves the pre-built static files) # Start the application (serves the pre-built static files)
ExecStart=/usr/bin/serve -s build -l 3000 ExecStart=/usr/bin/serve -s build -l tcp://0.0.0.0:3000
# Restart policy # Restart policy
Restart=on-failure Restart=on-failure