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