diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml new file mode 100644 index 0000000..e9ddd3b --- /dev/null +++ b/.gitea/workflows/docker.yml @@ -0,0 +1,52 @@ +name: Build and Push Keycloak Docker Image + +on: + push: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Login to Registry + uses: docker/login-action@v2 + with: + registry: eiche:3000 + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Docker imageTags + run: | + REPOSITORY_LC=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]') + echo "versioned: eiche:3000/${REPOSITORY_LC}:${GITHUB_RUN_NUMBER}" + echo "latest: eiche:3000/${REPOSITORY_LC}:latest" + + - name: Build Docker Image + run: | + REPOSITORY_LC=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]') + # Build the image with the commit hash tag + + export DOCKER_CLI_EXPERIMENTAL=enabled; + docker buildx create --name boxitkeycloak || true 2>/dev/null; + docker buildx use boxitkeycloak; + docker buildx build \ + --platform linux/arm64,linux/amd64 \ + --tag eiche:3000/${REPOSITORY_LC}:${GITHUB_RUN_NUMBER} \ + --load \ + .; + + # Tag the same image as "latest" + docker tag eiche:3000/${REPOSITORY_LC}:${GITHUB_RUN_NUMBER} eiche:3000/${REPOSITORY_LC}:latest + + - name: Push Docker Images + run: | + REPOSITORY_LC=$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]') + docker push eiche:3000/${REPOSITORY_LC}:${GITHUB_RUN_NUMBER} + docker push eiche:3000/${REPOSITORY_LC}:latest + + - name: Log out from registry + if: always() + run: docker logout eiche:3000