From 387044a26ccbce0fcc12270a20f6c21ee0dff8ca Mon Sep 17 00:00:00 2001 From: yeuimu <2197651308@qq.com> Date: Fri, 11 Sep 2026 01:40:23 +0000 Subject: [PATCH] =?UTF-8?q?ci:=20=E6=96=B0=E5=A2=9E=20PR=20=E8=BD=BB?= =?UTF-8?q?=E9=87=8F=E6=A3=80=E6=9F=A5=E5=B7=A5=E4=BD=9C=E6=B5=81,=20AGENT?= =?UTF-8?q?S.md=20=E8=A1=A5=E5=85=85=20CI/CD=20=E8=87=AA=E5=8A=A8=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yml | 18 ++++++++++++++++++ AGENTS.md | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 .gitea/workflows/ci.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..feef89f --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,18 @@ +name: CI +on: + pull_request: + branches: [develop, main] + +jobs: + test: + name: test + runs-on: ubuntu-latest + steps: + - name: 检出代码 + uses: actions/checkout@v4 + - name: 安装 uv + run: curl -LsSf https://astral.sh/uv/install.sh | sh + - name: 安装依赖 + run: ~/.local/bin/uv sync --frozen + - name: 语法与导入检查 + run: ~/.local/bin/uv run python -m compileall -q flows api diff --git a/AGENTS.md b/AGENTS.md index ff63089..91ece97 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -30,6 +30,8 @@ ETL 工作流项目,使用 [Prefect](https://docs.prefect.org.cn/v3/get-started) - worker 是 **Docker 容器**(`prefect-worker` 服务,基于 `Dockerfile`),镜像只装依赖(git + uv 按锁文件装),**不烤业务代码**;每个 flow run 执行前,pull 步骤从 Gitea **clone 最新代码**(token 存 `gitea-token` Secret Block,运行时解析)。 - **改 flow 代码 → `git push` → 下次 run 自动用新代码**(worker 不重启、不 redeploy);改 deployment 配置(cron/参数)才需重跑 `uv run prefect deploy --all`(读取 `prefect.yaml`)。 - **日常开发流程**:clone Gitea 仓库 → 改代码 → `git push` → 自动生效。 +- **CI/CD 自动部署**:develop 合并到 main(push)→ Gitea webhook → 本机 9000 的 `inkreach-prefect-webhook` 服务(systemd,deploy 账号)→ 自动 `git pull + uv sync + prefect deploy --all` → 企微群通知。CI 检查:`.gitea/workflows/ci.yml`,PR 到 develop/main 时跑轻量语法检查(runner 标签 ubuntu-latest,本机 gitea-act-runner)。 +- 部署脚本与密钥在 `/opt/inkreach-prefect-deploy/`(deploy.sh / rollback.sh / status.sh / webhook.secret / wecom_webhook.txt,均 deploy 账号所有);代码检出在 `/opt/inkreach-prefect`(deploy 账号所有,deploy.sh 自动 reset 到 origin/main)。 ## 密钥管理(标准做法)