From 2b6f2f10cc390cfa329830059044c566bc2d2239 Mon Sep 17 00:00:00 2001 From: zyc <1439655764@qq.com> Date: Wed, 8 Apr 2026 18:07:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=A8=20printf=20=E7=94=9F=E6=88=90?= =?UTF-8?q?=20Ingress=20YAML=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=BC=A9=E8=BF=9B?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yaml | 62 +++++++++++++++--------------------- 1 file changed, 25 insertions(+), 37 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index d9976e4..e76fa85 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -36,62 +36,50 @@ jobs: - name: Auto generate and apply Ingress run: | - # 收集所有项目目录名 PROJECTS="" for dir in */; do case "$dir" in .gitea/|.git/|k8s/) continue ;; esac - name="${dir%/}" - PROJECTS="$PROJECTS $name" + PROJECTS="$PROJECTS ${dir%/}" done - # 生成 Ingress YAML - cat > /tmp/ingress.yaml <<'HEADER' - apiVersion: networking.k8s.io/v1 - kind: Ingress - metadata: - name: static-sites-ingress - annotations: - kubernetes.io/ingress.class: "traefik" - cert-manager.io/cluster-issuer: "letsencrypt-prod" - spec: - tls: - HEADER + # 头部 + printf 'apiVersion: networking.k8s.io/v1\n' > /tmp/ingress.yaml + printf 'kind: Ingress\n' >> /tmp/ingress.yaml + printf 'metadata:\n' >> /tmp/ingress.yaml + printf ' name: static-sites-ingress\n' >> /tmp/ingress.yaml + printf ' annotations:\n' >> /tmp/ingress.yaml + printf ' kubernetes.io/ingress.class: "traefik"\n' >> /tmp/ingress.yaml + printf ' cert-manager.io/cluster-issuer: "letsencrypt-prod"\n' >> /tmp/ingress.yaml + printf 'spec:\n' >> /tmp/ingress.yaml + printf ' tls:\n' >> /tmp/ingress.yaml - # 生成 TLS 段 for name in $PROJECTS; do - cat >> /tmp/ingress.yaml <> /tmp/ingress.yaml + printf ' - %s.airlabs.art\n' "$name" >> /tmp/ingress.yaml + printf ' secretName: %s-tls\n' "$name" >> /tmp/ingress.yaml done - # 生成 rules 段 - echo " rules:" >> /tmp/ingress.yaml + printf ' rules:\n' >> /tmp/ingress.yaml for name in $PROJECTS; do - cat >> /tmp/ingress.yaml <> /tmp/ingress.yaml + printf ' http:\n' >> /tmp/ingress.yaml + printf ' paths:\n' >> /tmp/ingress.yaml + printf ' - path: /\n' >> /tmp/ingress.yaml + printf ' pathType: Prefix\n' >> /tmp/ingress.yaml + printf ' backend:\n' >> /tmp/ingress.yaml + printf ' service:\n' >> /tmp/ingress.yaml + printf ' name: static-sites\n' >> /tmp/ingress.yaml + printf ' port:\n' >> /tmp/ingress.yaml + printf ' number: 80\n' >> /tmp/ingress.yaml done echo "--- 生成的 Ingress ---" cat /tmp/ingress.yaml - # 上传并 apply scp /tmp/ingress.yaml root@118.196.70.19:/tmp/ingress.yaml ssh root@118.196.70.19 "kubectl apply -f /tmp/ingress.yaml" - echo "✓ Ingress 已自动更新" - name: Verify