site-websocket-broadcaster/.gitlab-ci.yml

55 lines
1.4 KiB
YAML

image: node:latest
cache:
paths:
- node_modules/
- dist/
stages:
- build
- deploy
- configure
- restart
build:
stage: build
tags:
- production
- shell
script:
- npm install
- ./node_modules/.bin/tsc
deploy:
stage: deploy
tags:
- production
- shell
script:
- sudo rm -rf /var/www/broadcaster
- sudo mkdir -p /var/www/broadcaster/node_modules
- sudo cp dist/server/server.js /var/www/broadcaster
- sudo cp node_modules/. -R /var/www/broadcaster/node_modules/.
- sudo chown http:http -R /var/www/broadcaster
configure:
stage: configure
tags:
- production
- shell
script:
- cat srvconfig/nginx.conf | sed -e 's/{domain}/broadcaster.adlerneves.com/g' -e 's/{port}/18961/g' | sudo tee /etc/nginx/sites-available/broadcaster-adlerneves-com-http.conf > /dev/null
- cat srvconfig/nginx.conf | sed -e 's/{domain}/broadcaster.sfner.com/g' -e 's/{port}/18961/g' | sudo tee /etc/nginx/sites-available/broadcaster-sfner-com-http.conf > /dev/null
- cat srvconfig/systemd.service | sed -e 's/{name}/broadcaster/g' -e 's/{port}/18961/g' | sudo tee /etc/systemd/system/ws-broadcaster.service > /dev/null
restart:
stage: restart
tags:
- production
- shell
script:
- sudo systemctl daemon-reload
- sudo systemctl reload nginx
- sudo systemctl enable ws-broadcaster.service
- sudo systemctl restart ws-broadcaster.service