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: preconfigure depends_on: - analyze commands: - rustup default nightly - name: test depends_on: - preconfigure commands: - cargo test --release - name: build depends_on: - test commands: - cargo build --release - name: validate depends_on: - build commands: - target/release/static-site-server-rs -t default-config.yaml - target/release/static-site-server-rs -c test_assets/parsing/index.htmltpl - target/release/static-site-server-rs -i test_assets/inflating/index.htm.tpl - name: deploy depends_on: - validate commands: - sudo install -o root -g root -m 755 -T target/release/static-site-server-rs /usr/bin/static-site-server-rs - sudo install -o root -g root -m 644 -T default-unit.service /usr/lib/systemd/system/static-site-server-rs.service - sudo mkdir -p /etc/static-site-server-rs - sudo install -o root -g root -m 644 -T default-config.yaml /etc/static-site-server-rs/config.yaml - sudo mkdir -p /var/lib/static-site-server-rs/sites - sudo chown http:http /var/lib/static-site-server-rs - sudo chown http:http /var/lib/static-site-server-rs/sites - name: execute depends_on: - deploy commands: - sudo systemctl daemon-reload - sudo systemctl enable static-site-server-rs.service - sudo systemctl restart static-site-server-rs.service