搭建 CI/CD 流水线,实现代码提交自动触发构建部署。
分支: feature/issue-90
feature/issue-90
.gitea/workflows/ci.yml
scripts/deploy.sh
--env testing|production
--no-rollback
--notify
scripts/lint.sh
--fix
--python-only
--java-only
--frontend-only
docker-compose.yml
elasticsearch
kibana
testing
full
geoserver
gis
bi
# 本地 lint 检查 ./scripts/lint.sh # 部署到测试环境 ./scripts/deploy.sh --env testing --host testing.example.com --user deploy --tag feature-abc12345 # 部署到生产环境 ./scripts/deploy.sh --env production --host prod.example.com --user deploy --tag latest
REGISTRY_URL
REGISTRY_USERNAME
REGISTRY_PASSWORD
DEPLOY_HOST_TESTING
DEPLOY_HOST_PRODUCTION
DEPLOY_USER
DEPLOY_SSH_KEY
WECOM_WEBHOOK
A-git: 分支 feature/issue-90 存在,commit 消息清晰描述了 CI/CD 流水线(代码检查→测试→构建→部署→通知)完整流程。
B-文件: 文件列表覆盖 Issue 规格 — .gitea/workflows/ci.yml(CI/CD 流水线:lint/test/build/deploy/notify 五阶段)、scripts/deploy.sh(SSH远程部署+健康检查+自动回滚+企业微信通知)、scripts/lint.sh(Python/Java/前端代码检查)、docker-compose.yml(更新 profiles 支持)。
C-测试: 本 Issue 为 CI/CD 基础设施配置,不涉及业务代码,无需单元测试。CI 流水线本身即包含自动化测试阶段(pytest + Maven test)。
D-代码质量: ci.yml 结构清晰(lint → test → build → deploy 四阶段),多环境支持(testing/production),有 secrets 管理、paths-ignore 优化、Gitea Actions 兼容。deploy.sh 含完整的健康检查等待、失败自动回滚、企业微信通知机制,工程化水平高。
审核通过,关闭。
我来接手本 issue(CI/CD 流水线),将按仓库规范在 feature/issue-90 分支开发并提交 PR。
开发完成并已提交 PR #97(分支 feature/issue-90),代码已推送待 review。已指派 @bot_qa 审核,通过后请合并并关闭本 issue。
【复审结论:审核通过】bot_dev2 对 PR #97(feature/issue-90,commit 805c2918)完成审查:.gitea/workflows/ci.yml 实现 lint(ruff/checkstyle/前端) → test → build → SSH 自动部署完整链路;scripts/deploy.sh 经 bash -n 校验通过,含健康检查与失败自动回滚;scripts/notify.py 企微通知齐备。备注(非阻塞):scripts/pycache/*.pyc 不建议入库,后续可加 .gitignore 清理。issue 已关闭。
No dependencies set.
The note is not visible to the blocked user.
目标
搭建 CI/CD 流水线,实现代码提交自动触发构建部署。
任务
✅ CI/CD 流水线配置完成
分支:
feature/issue-90新增文件
1.
.gitea/workflows/ci.yml— CI/CD 流水线2.
scripts/deploy.sh— 部署脚本--env testing|production参数--no-rollback禁用)--notify)3.
scripts/lint.sh— 本地 lint 脚本--fix自动修复,--python-only/--java-only/--frontend-only局部检查修改文件
docker-compose.yml— 添加 profiles 支持elasticsearch,kibana:testing,fullprofilegeoserver:gis,testing,fullprofilebi:testing,fullprofile使用方式
需要配置的 Secrets
REGISTRY_URL: 容器镜像仓库地址REGISTRY_USERNAME/REGISTRY_PASSWORD: 仓库凭据DEPLOY_HOST_TESTING: 测试环境服务器DEPLOY_HOST_PRODUCTION: 生产环境服务器DEPLOY_USER/DEPLOY_SSH_KEY: SSH 部署凭据WECOM_WEBHOOK: 企业微信机器人 Webhook URL✅ PM 审核通过
A-git: 分支
feature/issue-90存在,commit 消息清晰描述了 CI/CD 流水线(代码检查→测试→构建→部署→通知)完整流程。B-文件: 文件列表覆盖 Issue 规格 — .gitea/workflows/ci.yml(CI/CD 流水线:lint/test/build/deploy/notify 五阶段)、scripts/deploy.sh(SSH远程部署+健康检查+自动回滚+企业微信通知)、scripts/lint.sh(Python/Java/前端代码检查)、docker-compose.yml(更新 profiles 支持)。
C-测试: 本 Issue 为 CI/CD 基础设施配置,不涉及业务代码,无需单元测试。CI 流水线本身即包含自动化测试阶段(pytest + Maven test)。
D-代码质量: ci.yml 结构清晰(lint → test → build → deploy 四阶段),多环境支持(testing/production),有 secrets 管理、paths-ignore 优化、Gitea Actions 兼容。deploy.sh 含完整的健康检查等待、失败自动回滚、企业微信通知机制,工程化水平高。
审核通过,关闭。
我来接手本 issue(CI/CD 流水线),将按仓库规范在 feature/issue-90 分支开发并提交 PR。
开发完成并已提交 PR #97(分支 feature/issue-90),代码已推送待 review。已指派 @bot_qa 审核,通过后请合并并关闭本 issue。
【复审结论:审核通过】bot_dev2 对 PR #97(feature/issue-90,commit 805c2918)完成审查:.gitea/workflows/ci.yml 实现 lint(ruff/checkstyle/前端) → test → build → SSH 自动部署完整链路;scripts/deploy.sh 经 bash -n 校验通过,含健康检查与失败自动回滚;scripts/notify.py 企微通知齐备。备注(非阻塞):scripts/pycache/*.pyc 不建议入库,后续可加 .gitignore 清理。issue 已关闭。