• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

gin-vue-devops: 基于Gin和Vue开发容器DevOps平台

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

gin-vue-devops

开源软件地址:

https://gitee.com/xu918/gin-vue-devops

开源软件介绍:

分支说明

  • develop: 是开发分支,有最新提交代码
  • master: 是稳定分支,代码从develop合过来

项目介绍

本项目基于Gin-Vue-Admin开源前后端框架开发,力图实现管理Kubernetes、应用监控和发布回滚等功能。

同时,本项目需要一位前端同学参与项目开发,有意向同学请添加微信联系我,谢谢。avatar

技术栈

部署使用

- node版本 > v8.6.0- golang版本 >= v1.14- IDE推荐:Goland

启动Server端

修改配置文件

# 克隆项目git clone [email protected]:openstack-test/gin-vue-devops.git# 修改server/config.yaml文件. 其中mysql数据库需要先创建好# mysql configurationmysql:  path: '127.0.0.1:3306'  config: 'charset=utf8mb4&parseTime=True&loc=Local'  db-name: 'gin-vue-devops'  username: 'root'  password: 'Aa@6447985'  max-idle-conns: 10  max-open-conns: 100  log-mode: false# redis configurationredis:  db: 0  addr: '127.0.0.1:6379'  password: ''

初始化数据库

  • Windows用户

在server目录下,打开终端执行

./initdb.bat
  • Linux/Mac用户
# 在server目录下,先构建gva终端工具make gva# 使用gva初始化数据, 如果不使用make initdb, 使用./gva initdb也可以make initdb

使用 goland等编辑工具,打开server目录

# 进入server目录安装go依赖包go list (go mod tidy)# 编译go build# 启动服务./gin-vue-devops

启动Web端

# 进入web前端目录cd web# 安装依赖npm install --registry=https://registry.npm.taobao.org# 启动前端服务,会自动打开浏览器页面npm run serve# 发布打包(只在正式上线时使用),将生成的dist目录下的所有文件拷贝到nginx目录下npm run build

Swagger自动化API文档

安装 swagger

go get -u github.com/swaggo/swag/cmd/swag

生成API文档

cd serverswag init

执行上面的命令后,server目录下会出现docs文件夹,登录http://localhost:8888/swagger/index.html, 即可查看swagger文档

项目架构

技术选型

  • 前端:用基于vueElement-UI构建基础页面。
  • 后端:用Gin快速搭建基础restful风格API,Gin是一个go语言编写的Web框架。
  • 数据库:采用MySql(5.6.44)版本,使用gorm实现对数据库的基本操作。
  • 缓存:使用Redis实现记录当前活跃用户的jwt令牌并实现多点登录限制。
  • API文档:使用Swagger构建自动化文档。
  • 配置文件:使用viper实现yaml格式的配置文件。
  • 日志:使用zap实现日志记录。
  • Kubernetes:使用client-go库管理Kubernetes资源。

系统架构图

后端系统架构图

前端前端详细设计图

功能规划功能规划

目录结构

    ├─server  	     (后端文件夹)    │  ├─api            (API)    |  ├─cmd            (数据库表初始化工具)    │  ├─config         (配置相关)    │  ├─core  	        (启动相关)    │  ├─docs  	        (swagger文档目录)    │  ├─global         (全局对象)    │  ├─initialiaze    (gorm、log、route、validator等相关初始化)    │  ├─middleware     (中间件)    │  ├─model          (结构体层)    │  ├─resource       (资源)    │  ├─router         (路由)    │  ├─service         (服务)    │  └─utils	        (公共功能)    └─web            (前端文件夹)        ├─public        (发布模板)        └─src           (源码包)            ├─api       (向后台发送ajax的封装层)            ├─assets	 (静态文件)            ├─components(组件)            ├─router	 (前端路由)            ├─store     (vuex 状态管理仓)            ├─style     (通用样式文件)            ├─utils     (前端工具库)            └─view      (前端页面)

主要功能

  • 权限管理:基于jwtcasbin实现权限管理
  • 角色管理:创建权限控制的主要对象,可以给角色分配不同api权限和菜单权限
  • 菜单管理:实现用户动态菜单配置,实现不同角色不同菜单
  • api管理:不同用户可调用的api接口的权限不同
  • 表单生成器:表单生成器借助 @form-generator
  • 代码生成器:基础逻辑以及简单curd代码自动生成
  • Kubernetes管理:包括集群、NameSpace、Deployment、Pod容器等资源对象管理

计划任务

  • 完善Kubernetes资源对象管理
  • 应用创建、回滚、查询、进入容器等
  • 其他

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
docker-zabbix: Docker 容器运行Zabbix Server和Zabbix Web UI.发布时间:2022-03-25
下一篇:
easyNmon: https://github.com/mzky/easyNmon.git发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap