site-websocket-broadcaster/.drone.yml

47 lines
1.6 KiB
YAML

kind: pipeline
type: exec
name: default
steps:
- name: analyze
environment:
SONAR_TOKEN:
from_secret: sonar_token
commands:
- if [[ -z "$(curl -s https://qa.adlerneves.com | grep '502 Bad Gateway')" ]]; then /opt/sonar-scanner/bin/sonar-scanner -Dsonar.login=$$SONAR_TOKEN ; fi
- name: build
commands:
- npm install
- ./node_modules/.bin/tsc
depends_on:
- analyze
- name: deploy
commands:
- 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 src/server.ts /var/www/broadcaster
- sudo cp node_modules/. -R /var/www/broadcaster/node_modules/.
- sudo chown http:http -R /var/www/broadcaster
depends_on:
- build
- name: configure
commands:
- 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
depends_on:
- deploy
- name: restart
commands:
- sudo systemctl daemon-reload
- sudo systemctl reload nginx
- sudo systemctl enable ws-broadcaster.service
- sudo systemctl restart ws-broadcaster.service
depends_on:
- configure