43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: OTA TV
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: pirf
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
run: |
|
|
cd ~/apps/ota-tv-web
|
|
git fetch
|
|
git checkout main
|
|
git pull origin main
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
cd ~/apps/ota-tv-web
|
|
if [ -f package-lock.json ] || [ -f package.json ]; then
|
|
echo "Installing npm dependencies..."
|
|
npm install
|
|
else
|
|
echo "No Node.js project found (missing package.json)"
|
|
exit 1
|
|
fi
|
|
|
|
- name: Stop existing screen session, if running
|
|
run: |
|
|
if screen -list | grep -q "ota_tv_web"; then
|
|
echo "Stopping existing screen session..."
|
|
screen -S ota_tv_web -X quit
|
|
fi
|
|
|
|
- name: Start server in screen session
|
|
run: |
|
|
cd ~/apps/ota-tv-web
|
|
setsid screen -dmS ota_tv_web bash -c 'HTTP_PORT=8081 WS_PORT=3001 npm start > server.log 2>&1'
|
|
echo "Server started in detached screen session"
|