name: Docker-Image bauen on: push: branches: - main workflow_dispatch: env: REGISTRY: git.servercentral.org IMAGE: git.servercentral.org/jonas/hardtschule-karlsruhe.de jobs: build-and-push: name: Image bauen und veröffentlichen runs-on: ubuntu-latest permissions: contents: read steps: - name: Repository auschecken uses: actions/checkout@v4 - name: An der Container-Registry anmelden env: REGISTRY_USERNAME: ${{ secrets.REGISTRY_USERNAME }} REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} run: | test -n "$REGISTRY_USERNAME" || (echo "Secret REGISTRY_USERNAME fehlt" && exit 1) test -n "$REGISTRY_TOKEN" || (echo "Secret REGISTRY_TOKEN fehlt" && exit 1) printf '%s' "$REGISTRY_TOKEN" | docker login "$REGISTRY" --username "$REGISTRY_USERNAME" --password-stdin - name: Docker-Image bauen run: | docker build --pull \ --label "org.opencontainers.image.revision=${{ gitea.sha }}" \ --tag "$IMAGE:latest" \ --tag "$IMAGE:${{ gitea.sha }}" \ . - name: Docker-Image veröffentlichen run: | docker push "$IMAGE:latest" docker push "$IMAGE:${{ gitea.sha }}" - name: Von der Container-Registry abmelden if: ${{ always() }} run: docker logout "$REGISTRY"