name: Docker Images bauen und pushen on: push: branches: - release tags: - "v*" env: REGISTRY: git.cynfo.net IMAGE_BACKEND: git.cynfo.net/christian/rmm2/backend IMAGE_FRONTEND: git.cynfo.net/christian/rmm2/frontend jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login in Gitea Container Registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Docker Buildx einrichten uses: docker/setup-buildx-action@v3 - name: Image-Tag bestimmen id: meta run: | if [[ "${{ github.ref }}" == refs/tags/* ]]; then TAG="${{ github.ref_name }}" else TAG="latest" fi echo "tag=${TAG}" >> $GITHUB_OUTPUT - name: Backend bauen und pushen uses: docker/build-push-action@v5 with: context: ./backend push: true tags: | ${{ env.IMAGE_BACKEND }}:${{ steps.meta.outputs.tag }} ${{ env.IMAGE_BACKEND }}:latest cache-from: type=registry,ref=${{ env.IMAGE_BACKEND }}:buildcache cache-to: type=registry,ref=${{ env.IMAGE_BACKEND }}:buildcache,mode=max - name: Frontend bauen und pushen uses: docker/build-push-action@v5 with: context: ./frontend push: true tags: | ${{ env.IMAGE_FRONTEND }}:${{ steps.meta.outputs.tag }} ${{ env.IMAGE_FRONTEND }}:latest # BACKEND_HOST ist zur Laufzeit nicht bekannt — wird im Compose via Env gesetzt # Wer eigene Images braucht: docker compose build cache-from: type=registry,ref=${{ env.IMAGE_FRONTEND }}:buildcache cache-to: type=registry,ref=${{ env.IMAGE_FRONTEND }}:buildcache,mode=max