diff --git a/.gitea/workflows/dev-deploy.yaml b/.gitea/workflows/dev-deploy.yaml new file mode 100644 index 0000000..9e6b990 --- /dev/null +++ b/.gitea/workflows/dev-deploy.yaml @@ -0,0 +1,37 @@ +# ============================================================ +# ai-agent dev 分支自动发布 +# 触发:push dev 分支 +# 流程:构建镜像 -> push 本地仓库(127.0.0.1:5000) -> 部署到 dev 宿主机本地 k3s +# 前置:runner 挂载 dev k3s kubeconfig 到 /root/.kube/k3s-dev.yaml +# ============================================================ +name: Deploy ai-agent to dev k3s + +on: + push: + branches: [ master ] + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + # 不依赖 actions/checkout(从 github.com 拉 action 源码,国内网络不稳定), + # 直接 clone 本地 Gitea,用 Actions 注入的 GITHUB_TOKEN 认证 + - name: 拉取代码 + run: | + git clone --branch dev http://x-access-token:${GITHUB_TOKEN}@127.0.0.1:3000/red-future/ai-agent.git . + git checkout ${GITHUB_SHA} + + - name: 构建并推送镜像 + run: | + TAG=dev-${GITHUB_SHA::8} + docker build -t 127.0.0.1:5000/ai-agent:${TAG} ./server + docker push 127.0.0.1:5000/ai-agent:${TAG} + + - name: 部署到 dev k3s + env: + KUBECONFIG: /root/.kube/k3s-dev.yaml + run: | + kubectl create namespace dev --dry-run=client -o yaml | kubectl apply -f - + kubectl apply -f deploy/k8s/ai-agent.yaml + kubectl set image deployment/ai-agent ai-agent=127.0.0.1:5000/ai-agent:dev-${GITHUB_SHA::8} -n dev + kubectl rollout status deployment/ai-agent -n dev --timeout=5m diff --git a/server b/server deleted file mode 160000 index e644212..0000000 --- a/server +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e64421295fff83acbb6d6ab3d3b27f3ef8368f00