when: - branch: main event: push steps: - name: build-and-test image: mcr.microsoft.com/dotnet/sdk:9.0 commands: - dotnet restore GermanApp/GermanApp.csproj - dotnet build GermanApp/GermanApp.csproj --no-restore --configuration Release when: - branch: - main - feature/* - bugfix/* - refactor/* - name: build-backend image: woodpeckerci/plugin-docker-buildx privileged: true settings: dockerfile: GermanApp/Dockerfile context: GermanApp registry: registry.lrhdev.dk repo: registry.lrhdev.dk/lasserh/deutschlernen-backend username: from_secret: REGISTRY_USERNAME password: from_secret: REGISTRY_PASSWORD tags: - latest - ${CI_COMMIT_SHA} when: - branch: main - name: build-frontend image: woodpeckerci/plugin-docker-buildx privileged: true settings: dockerfile: german-app-frontend/Dockerfile context: german-app-frontend registry: registry.lrhdev.dk repo: registry.lrhdev.dk/lasserh/deutschlernen-frontend username: from_secret: REGISTRY_USERNAME password: from_secret: REGISTRY_PASSWORD tags: - latest - ${CI_COMMIT_SHA} when: - branch: main - name: deploy image: appleboy/drone-ssh settings: host: from_secret: SSH_HOST username: root key: from_secret: SSH_PRIVATE_KEY script: - docker login registry.lrhdev.dk -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD - docker pull registry.lrhdev.dk/lasserh/deutschlernen-backend:latest - docker pull registry.lrhdev.dk/lasserh/deutschlernen-frontend:latest - cd /opt/deutschlernen - docker compose down - docker compose up -d - docker image prune -f environment: REGISTRY_USERNAME: from_secret: REGISTRY_USERNAME REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD when: - branch: main