本项目是一个基于 Gin 框架和 Vue.js 开发的全栈博客系统,支持云原生开发、自动化镜像构建及平滑部署。
.cnb.yml 实现从代码推送、容器构建、镜像存储到远程部署的全自动化流程。项目中的 .cnb.yml 是整个自动化流程的核心,它定义了以下几个关键阶段:
在 push 事件中,流水线会并行或顺序执行以下步骤:
web/front -> gin-blog-webweb/admin -> gin-blog-admin-web. (后端) -> gin-blog-api${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE} 配合提交短哈希 ${CNB_COMMIT_SHORT} 标记镜像版本。docker-compose.yml, config, database 等),排除不必要的源代码。docker compose pull)。docker compose up -d 实现无缝更新服务。docker 服务支持,允许在 CI 流程中执行 Docker 命令。├── api/v1/ # 后端 API 逻辑 ├── config/ # 配置文件 ├── database/ # 数据库初始化脚本 ├── middleware/ # Gin 中间件 (JWT, CORS, Logger) ├── model/ # 数据库模型 (GORM) ├── routes/ # 路由配置 ├── web/ │ ├── admin/ # 管理后台前端项目 (Vue + Ant Design) │ └── front/ # 前端展示界面 (Vue + Vuetify) ├── .cnb.yml # CNB 自动化流水线配置 ├── docker-compose.yml # 容器编排文件 └── main.go # 后端入口
config/config.ini 配置数据库信息。docker-compose up -d