From 09c3236b5bdab38c2edfe49e2af7b4a68e50ff87 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Tue, 5 May 2026 09:57:04 +0100 Subject: [PATCH 1/2] ci(piano-sheet): apply k8s manifests before rollout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI 第一次跑时 ns / PVC / svc / ingress 还不存在,直接 set image 会失败。加一步 kubectl apply -f apps/piano-sheet/k8s/,让 ns + PVC + deployment + service + ingress + middleware 都先就位,再 做镜像 set + rollout status。 --- .gitea/workflows/deploy-piano-sheet.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/deploy-piano-sheet.yml b/.gitea/workflows/deploy-piano-sheet.yml index 8edb074..65d5f5e 100644 --- a/.gitea/workflows/deploy-piano-sheet.yml +++ b/.gitea/workflows/deploy-piano-sheet.yml @@ -45,6 +45,10 @@ jobs: docker build -f "apps/$APP/Dockerfile" -t "$IMAGE:${{ steps.tag.outputs.sha }}" . docker push "$IMAGE:${{ steps.tag.outputs.sha }}" + - name: Initialize K8s resources + run: | + kubectl apply -f apps/piano-sheet/k8s/ + - name: Roll out to k3s run: | kubectl -n "cube-$APP" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}" -- 2.52.0 From 538bbb7ecdc01ce567cdd1738b05c034e23f3a30 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Tue, 5 May 2026 10:03:38 +0100 Subject: [PATCH 2/2] =?UTF-8?q?piano-sheet:=20ns=20cube-piano-sheet=20?= =?UTF-8?q?=E2=86=92=20cube-piano?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ns 跟 app 名解耦,workflow 加 NS env 不再 cube-$APP 拼。 --- .gitea/workflows/deploy-piano-sheet.yml | 5 +++-- apps/piano-sheet/k8s/deployment.yaml | 2 +- apps/piano-sheet/k8s/ingress.yaml | 6 +++--- apps/piano-sheet/k8s/namespace.yaml | 2 +- apps/piano-sheet/k8s/pvc.yaml | 2 +- apps/piano-sheet/k8s/service.yaml | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/deploy-piano-sheet.yml b/.gitea/workflows/deploy-piano-sheet.yml index 65d5f5e..e7b6e79 100644 --- a/.gitea/workflows/deploy-piano-sheet.yml +++ b/.gitea/workflows/deploy-piano-sheet.yml @@ -17,6 +17,7 @@ jobs: runs-on: ubuntu-latest env: APP: piano-sheet + NS: cube-piano IMAGE: registry.famzheng.me/mochi/piano-sheet steps: - uses: actions/checkout@v4 @@ -51,5 +52,5 @@ jobs: - name: Roll out to k3s run: | - kubectl -n "cube-$APP" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}" - kubectl -n "cube-$APP" rollout status "deploy/$APP" --timeout=120s + kubectl -n "$NS" set image "deploy/$APP" "$APP=$IMAGE:${{ steps.tag.outputs.sha }}" + kubectl -n "$NS" rollout status "deploy/$APP" --timeout=120s diff --git a/apps/piano-sheet/k8s/deployment.yaml b/apps/piano-sheet/k8s/deployment.yaml index f0585f6..9e04783 100644 --- a/apps/piano-sheet/k8s/deployment.yaml +++ b/apps/piano-sheet/k8s/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: piano-sheet - namespace: cube-piano-sheet + namespace: cube-piano labels: app: piano-sheet spec: diff --git a/apps/piano-sheet/k8s/ingress.yaml b/apps/piano-sheet/k8s/ingress.yaml index 4461358..fd44714 100644 --- a/apps/piano-sheet/k8s/ingress.yaml +++ b/apps/piano-sheet/k8s/ingress.yaml @@ -2,10 +2,10 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: piano-sheet - namespace: cube-piano-sheet + namespace: cube-piano annotations: # 上传整组图片可能 ~600MB,调高 traefik 默认上限 - traefik.ingress.kubernetes.io/router.middlewares: cube-piano-sheet-bodylimit@kubernetescrd + traefik.ingress.kubernetes.io/router.middlewares: cube-piano-bodylimit@kubernetescrd spec: ingressClassName: traefik rules: @@ -24,7 +24,7 @@ apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: bodylimit - namespace: cube-piano-sheet + namespace: cube-piano spec: buffering: maxRequestBodyBytes: 700000000 diff --git a/apps/piano-sheet/k8s/namespace.yaml b/apps/piano-sheet/k8s/namespace.yaml index 9c5bf43..cbe25d0 100644 --- a/apps/piano-sheet/k8s/namespace.yaml +++ b/apps/piano-sheet/k8s/namespace.yaml @@ -1,4 +1,4 @@ apiVersion: v1 kind: Namespace metadata: - name: cube-piano-sheet + name: cube-piano diff --git a/apps/piano-sheet/k8s/pvc.yaml b/apps/piano-sheet/k8s/pvc.yaml index 227a4e4..be06840 100644 --- a/apps/piano-sheet/k8s/pvc.yaml +++ b/apps/piano-sheet/k8s/pvc.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: name: piano-sheet-data - namespace: cube-piano-sheet + namespace: cube-piano spec: accessModes: - ReadWriteOnce diff --git a/apps/piano-sheet/k8s/service.yaml b/apps/piano-sheet/k8s/service.yaml index 3971780..68cea61 100644 --- a/apps/piano-sheet/k8s/service.yaml +++ b/apps/piano-sheet/k8s/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: piano-sheet - namespace: cube-piano-sheet + namespace: cube-piano spec: selector: app: piano-sheet -- 2.52.0