init test

This commit is contained in:
xiaolipro 2026-09-21 15:42:49 +08:00
parent 208ba73a12
commit db2cea4c8b

View File

@ -1,9 +1,19 @@
# 复制到 itfx 仓库 .gitea/workflows/deploy.yml
# push master/main → prod;push test → test
name: Build and Deploy name: Build and Deploy
on: on:
push: push:
branches: [master, main] branches: [master, main, test]
workflow_dispatch: workflow_dispatch:
inputs:
target:
description: Deploy target (仅手动;push 时由分支决定)
type: choice
options:
- prod
- test
default: prod
env: env:
CSPROJ: src/InterfaceForward.Api/InterfaceForward.Api.csproj CSPROJ: src/InterfaceForward.Api/InterfaceForward.Api.csproj
@ -20,15 +30,48 @@ jobs:
- name: Build and deploy - name: Build and deploy
run: | run: |
set -euxo pipefail set -euxo pipefail
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml REF="${{ gitea.ref_name }}"
TAG="${{ gitea.sha }}"
IMG="${{ env.TCR_REGISTRY }}/${{ env.TCR_NAMESPACE }}/${{ env.IMAGE_NAME }}:${TAG}" if [[ "${{ gitea.event_name }}" == "workflow_dispatch" ]]; then
TARGET="${{ inputs.target }}"
TARGET="${TARGET:-prod}"
else
case "$REF" in
test) TARGET=test ;;
*) TARGET=prod ;;
esac
fi
SHA="${{ gitea.sha }}"
REPO="${{ gitea.repository }}" REPO="${{ gitea.repository }}"
REPO="${REPO:-${{ github.repository }}}"
test -n "$REPO" && [[ "$REPO" == */* ]] test -n "$REPO" && [[ "$REPO" == */* ]]
echo "REPO=$REPO TAG=$TAG host=$(hostname)"
case "$TARGET" in
test) TAG="test-${SHA}" ;;
*) TAG="${SHA}" ;;
esac
IMG="${{ env.TCR_REGISTRY }}/${{ env.TCR_NAMESPACE }}/${{ env.IMAGE_NAME }}:${TAG}"
echo "TARGET=$TARGET REF=$REF REPO=$REPO TAG=$TAG host=$(hostname)"
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
unset NAMESPACE
cd /data/k3s cd /data/k3s
./scripts/ci-publish-container.sh "$REPO" "${{ env.CSPROJ }}" \ ./scripts/ci-publish-container.sh "$REPO" "${{ env.CSPROJ }}" \
"${{ env.IMAGE_NAME }}" "$TAG" "$TAG" "${{ env.IMAGE_NAME }}" "$TAG" "$SHA"
case "$TARGET" in
test)
export KUBECONFIG=/root/.kube/k3s-test.yaml
export NAMESPACE=test
export MANIFEST_ROOT=/data/k3s-test
;;
*)
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
export NAMESPACE=prod
export MANIFEST_ROOT=/data/k3s
;;
esac
test -f "$KUBECONFIG"
./scripts/ci-deploy-api.sh "${{ env.DEPLOY_NAME }}" \ ./scripts/ci-deploy-api.sh "${{ env.DEPLOY_NAME }}" \
"${{ env.CONTAINER_NAME }}" "$IMG" "${{ env.CONTAINER_NAME }}" "$IMG"