name: Deploy TrassenPlaner on: push: branches: - main jobs: deploy: runs-on: host # Wir sagen Gitea, welches Werkzeug-Set es laden soll container: image: docker:24.0 # Ein Image, das Docker-Befehle eingebaut hat steps: - name: Checkout and Build run: | # 1. Git installieren (da das Docker-Image sehr klein ist) apk add --no-cache git # 2. In den Ordner auf deinem ECHTEN Server springen # Dank unserem Mount in der docker-compose des Runners mkdir -p /root/trassenplaner_app cd /root/trassenplaner_app # 3. Code holen if [ -d ".git" ]; then git config --global --add safe.directory /root/trassenplaner_app git fetch --all git reset --hard origin/main else git clone https://git.enwelo-serverumgebung.cloud/gitea-enwelo-jba/bwscheddebrock_trassenplaner.git . fi # 4. .env schreiben echo "DB_HOST=${{ secrets.DB_HOST }}" > .env echo "DB_PORT=5433" >> .env echo "DB_USER=${{ secrets.DB_USER }}" >> .env echo "DB_PASSWORD='${{ secrets.DB_PASSWORD }}'" >> .env echo "DB_NAME=${{ secrets.DB_NAME }}" >> .env echo "DB_SCHEMA=bw_scheddebrock" >> .env # 5. Docker Start # Da wir im 'docker'-Image sind, kennt er den Befehl jetzt! docker compose up -d --build --force-recreate