static-site-server-rs/.drone.yml

58 lines
1.7 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: 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