This commit is contained in:
1 parent
332710ab00
commit
544b51fda1
1 file changed
+27
-9
@@ -18,8 +18,22 @@ jobs:
|
|||||||
# go-gitea/gitea#23276) und liefert selbst wenn es funktioniert eine
|
# go-gitea/gitea#23276) und liefert selbst wenn es funktioniert eine
|
||||||
# volle URL MIT "https://"-Schema — docker login/Image-Tags brauchen
|
# volle URL MIT "https://"-Schema — docker login/Image-Tags brauchen
|
||||||
# aber den reinen Hostnamen ohne Schema. Bei einem Umzug auf eine
|
# aber den reinen Hostnamen ohne Schema. Bei einem Umzug auf eine
|
||||||
# andere Gitea-Instanz hier anpassen.
|
# andere Gitea-Instanz hier anpassen. Nur noch fuer Doku/OCI-Labels
|
||||||
|
# relevant — der eigentliche Push laeuft ueber REGISTRY_PUSH (s.u.),
|
||||||
|
# Kubernetes zieht die Images weiterhin ueber diesen Hostnamen.
|
||||||
REGISTRY: git.encry.de
|
REGISTRY: git.encry.de
|
||||||
|
# Gitea-Registry-Push laeuft ueber die Cluster-interne ClusterIP statt
|
||||||
|
# git.encry.de: Docker-Registry-Blob-Uploads (PUT) vertragen sich nicht
|
||||||
|
# mit dem Cloudflare-Proxy vor git.encry.de — "413 Payload Too Large"
|
||||||
|
# auch bei kleinen Layern, unabhaengig von der eigentlichen Groesse.
|
||||||
|
# Der Runner (docker-builder) laeuft im selben Kubernetes-Cluster wie
|
||||||
|
# Gitea und erreicht den Gitea-Service direkt, ohne ueber Cloudflare zu
|
||||||
|
# hairpinnen. Push und Pull landen im selben Registry-Pfad
|
||||||
|
# (Owner/Repo:Tag) — der Hostname ist nur die Verbindung, nicht Teil
|
||||||
|
# des gespeicherten Images, daher bleibt der Pull in den k8s-Manifesten
|
||||||
|
# unveraendert ueber git.encry.de. Bei einer anderen ClusterIP/einem
|
||||||
|
# anderen Port hier anpassen (kubectl get svc -n <namespace> gitea).
|
||||||
|
REGISTRY_PUSH: 10.43.210.222:80
|
||||||
steps:
|
steps:
|
||||||
- name: Code auschecken
|
- name: Code auschecken
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -33,11 +47,17 @@ jobs:
|
|||||||
|
|
||||||
- name: Docker Buildx einrichten
|
- name: Docker Buildx einrichten
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
# REGISTRY_PUSH ist Klartext-HTTP (Gitea-Service intern ohne TLS)
|
||||||
|
# statt HTTPS — BuildKit lehnt das ohne diese Freigabe ab.
|
||||||
|
config-inline: |
|
||||||
|
[registry."10.43.210.222:80"]
|
||||||
|
http = true
|
||||||
|
|
||||||
- name: Bei der Gitea-Container-Registry anmelden
|
- name: Bei der Gitea-Container-Registry anmelden
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
registry: ${{ env.REGISTRY }}
|
registry: ${{ env.REGISTRY_PUSH }}
|
||||||
username: ${{ gitea.actor }}
|
username: ${{ gitea.actor }}
|
||||||
# GITEA_TOKEN hat aktuell KEIN Package-Write-Recht (Gitea-
|
# GITEA_TOKEN hat aktuell KEIN Package-Write-Recht (Gitea-
|
||||||
# Einschraenkung, Stand heute) — deshalb ein separates Personal
|
# Einschraenkung, Stand heute) — deshalb ein separates Personal
|
||||||
@@ -51,7 +71,7 @@ jobs:
|
|||||||
id: meta
|
id: meta
|
||||||
uses: docker/metadata-action@v5
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: ${{ env.REGISTRY }}/${{ steps.image.outputs.name }}
|
images: ${{ env.REGISTRY_PUSH }}/${{ steps.image.outputs.name }}
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=latest,enable={{is_default_branch}}
|
type=raw,value=latest,enable={{is_default_branch}}
|
||||||
type=sha,format=short
|
type=sha,format=short
|
||||||
@@ -74,17 +94,15 @@ jobs:
|
|||||||
|
|
||||||
# Migrations-Image: eigene schlanke Stage (nur Prisma-CLI/tsx + ein
|
# Migrations-Image: eigene schlanke Stage (nur Prisma-CLI/tsx + ein
|
||||||
# paar Laufzeit-Pakete, siehe Dockerfile-Kommentar bei "AS migrator")
|
# paar Laufzeit-Pakete, siehe Dockerfile-Kommentar bei "AS migrator")
|
||||||
# statt der vollen builder-Stage — die enthielt zusaetzlich
|
# statt der vollen builder-Stage, die zusaetzlich next/react/sharp/alle
|
||||||
# next/react/sharp/alle devDependencies und wurde beim Push an die
|
# devDependencies enthielt. Wird vom Kubernetes-Migrations-Job
|
||||||
# Gitea-Registry (hinter Cloudflare, ~100 MB Limit pro Layer) mit
|
# verwendet, siehe k8s/04-migrate-job.yaml.
|
||||||
# "413 Payload Too Large" abgewiesen. Wird vom Kubernetes-
|
|
||||||
# Migrations-Job verwendet, siehe k8s/04-migrate-job.yaml.
|
|
||||||
- name: Migrations-Image bauen und pushen
|
- name: Migrations-Image bauen und pushen
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
target: migrator
|
target: migrator
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ env.REGISTRY }}/${{ steps.image.outputs.name }}:migrate-${{ gitea.sha }}
|
tags: ${{ env.REGISTRY_PUSH }}/${{ steps.image.outputs.name }}:migrate-${{ gitea.sha }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
Reference in new issue
Block a user