Update .gitea/workflows/build-and-push.yaml
All checks were successful
Build and Push Container Image / build-and-push (push) Successful in 5s
All checks were successful
Build and Push Container Image / build-and-push (push) Successful in 5s
This commit is contained in:
@@ -7,10 +7,6 @@ on:
|
|||||||
tags:
|
tags:
|
||||||
- "v*"
|
- "v*"
|
||||||
|
|
||||||
env:
|
|
||||||
# Internal Gitea service URL — bypasses nginx, avoids /v2/ routing issue
|
|
||||||
INTERNAL_REGISTRY: gitea-http.gitea.svc.cluster.local:3000
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-and-push:
|
||||||
runs-on: orchestration-platform
|
runs-on: orchestration-platform
|
||||||
@@ -21,7 +17,6 @@ jobs:
|
|||||||
- name: Install tools
|
- name: Install tools
|
||||||
run: |
|
run: |
|
||||||
apk add --no-cache git curl
|
apk add --no-cache git curl
|
||||||
curl -sL https://github.com/google/go-containerregistry/releases/latest/download/go-containerregistry_Linux_x86_64.tar.gz | tar -xz -C /usr/local/bin crane
|
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
run: |
|
run: |
|
||||||
@@ -39,13 +34,25 @@ jobs:
|
|||||||
|
|
||||||
- name: Build image
|
- name: Build image
|
||||||
run: |
|
run: |
|
||||||
IMAGE="${INTERNAL_REGISTRY}/${{ gitea.repository }}:${{ steps.meta.outputs.tag }}"
|
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||||
|
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}:${{ steps.meta.outputs.tag }}"
|
||||||
docker build -t "${IMAGE}" .
|
docker build -t "${IMAGE}" .
|
||||||
docker save "${IMAGE}" -o image.tar
|
echo "image=${IMAGE}" >> "$GITHUB_OUTPUT"
|
||||||
|
id: build
|
||||||
|
|
||||||
- name: Push image
|
# TODO: Registry push is currently blocked.
|
||||||
|
# The Gitea ingress only routes /gitea/ to the backend; the Docker registry
|
||||||
|
# API (/v2/) returns 404 from nginx. A separate Ingress rule for /v2 -> gitea-http:3000
|
||||||
|
# (without rewrite-target) is needed before push can work.
|
||||||
|
- name: Push image (skipped - registry ingress not configured)
|
||||||
run: |
|
run: |
|
||||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||||
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}:${{ steps.meta.outputs.tag }}"
|
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}:${{ steps.meta.outputs.tag }}"
|
||||||
crane auth login "${REGISTRY_HOST}" -u "${{ gitea.actor }}" -p "${{ secrets.REGISTRY_TOKEN }}"
|
echo "⚠️ Skipping push: Gitea container registry is not reachable."
|
||||||
crane push image.tar "${IMAGE}"
|
echo " The ingress does not route /v2/ to Gitea (returns 404 from nginx)."
|
||||||
|
echo " Fix: Add a separate Ingress for path /v2 pointing to gitea-http:3000 without rewrite-target."
|
||||||
|
echo ""
|
||||||
|
echo " Image built successfully: ${IMAGE}"
|
||||||
|
echo " To push manually once ingress is fixed:"
|
||||||
|
echo " crane auth login \${REGISTRY_HOST} -u <user> -p <token>"
|
||||||
|
echo " crane push image.tar \${IMAGE}"
|
||||||
Reference in New Issue
Block a user