诞生背景

随着微服务的普及,更多的企业选择迁移到云,传统的部署方式已经无法满足需求,市面上devops产品也应运而生,结合自己使用的经验,也制作了一款同类产品,并开源出来,与大家一起探讨学习

前置条件

gitlab

k8s

mysql

项目框架

Vue Antd Admin

.net7(跨平台,跨平台,跨平台)

开源地址 https://github.com/wmowm/Tibos.Devops

后端项目,编译带运行时100M左右,不带运行时20M左右,部署简单方便,有手就行

功能介绍

整个系统深度集成gitlab与k8s,利用gitlab-runner 进行构建,将构建完成的交付物推送到镜像仓库,然后调用k8s的API来执行相关部署操作,不熟悉运维的同学,可以邀请运维大佬协助,部署相关组件

gitlab-ci 部分,可以参考之前写过的一篇博客

设计一个简单的devops系统

1. 登录页面

支持传统的账号+密码登录方式,与gitlab OAuth的登录方式(主登录方式),用户体系基于gitlab用户体系,方便对项目权限的统一管理

2. 目录菜单

3. 系统设置

  • 用户列表

使用OAuth方式登录,会自从创建系统账号,管理员可以给用户添加传统的账号+密码登录方式

授权组为gitlab账号所加入到的项目组,用于控制账号对gitlab项目的操作权限,一个账号可以加入到gitlab项目组

  • 团队列表

团队对应公司的部门,或者小组,我们为团队分配域名资源,与gitlab项目组,用户加入到该团队后,才能查看该团队下的所有项目,在创建应用的时候,只能选择已加入团队所绑定的域名资源与gitlab项目组





  • 模板列表



    模板的作用是为了确定gitlab-ci 与 Dockerfile,方便规范项目结构与集成常用组件,后续可以根据公司需求自定义对应的模板,我这里仅制作了2个模板,用于测试

模板采用的纯文件结构,通过变量替换来实现

  • 环境设置

环境与项目的分支关联(gitlab-ci),关联的分支变更时,触发流水线构建,环境设置了域名的创建规则,项目部署的时候,自动生成对应的域名(泛解析),部署项目需要制定环境,这里加上部署的审核逻辑(需自行拓展)

4. 持续集成

  • 项目列表

项目归属于团队,一个项目下可以有多个应用(微服务)



创建项目,选择团队,只能绑定该团队下的域名资源

  • 应用列表

用户可以查看所有加入团队的应用,创建应用的时候,必须指定项目(否则添加应用按钮无法使用),可以点击gitlab地址去查看应用的仓库信息,将常用应用添加到收藏,方便查看应用基础信息,与部署项目

创建应用,选择gitlab组跟项目模板即可,项目创建成功会自动生成gitlab代码库,并创建一个develop分支

查看应用信息,方便查阅不同环境的域名信息

  • 构建记录

构建记录可以查看所有加入团队的应用构建信息

5. 部署管理

  • 快速部署

在顶部选择要部署的应用,以及对应的环境,该应用所在环境关联的分支构建成功后,即可部署,需要审核的环境,会堵塞在待审核状态

  • 容器管理

容器管理用于伸缩容器,和查看容器日志

  • 配置字典

打包的镜像是不包含配置文件的,我们需要手动创建配置文件,并挂载到容器,这里支持挂载多个配置文件

新增配置,设置容器挂载路径(一般为/app/配置文件的名称),与子路径(配置文件的名称,*注意大小写必须跟实际的文件名保持一致)

配置信息为了支持多类型配置文件(json,yml,ini,xml.....),没有做格式校验,需要用户自己控制

  • 配置记录

对配置的相关操作会有记录,方便溯源

6. 仪盘表

  • 工作台

显示集群的资源占用,以及用户收藏项目的资源占用

7. 用户视角,创建应用并部署流程

  • 创建应用 -> 查看应用仓库 -> 查看流水线 ->创建分支 ->部署项目 ->查看应用日志

后续会继续补充项目部署文档,感兴趣可以加群讨论

Tibos.Devops项目介绍的更多相关文章

  1. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  2. 10年C#历程的MVP之路与MVP项目介绍

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html  1.意外的惊喜 10月份收到微软总部寄来的荣誉证书,非常激动, ...

  3. Openlayers+Geoserver(一):项目介绍以及地图加载

           项目验收完,趁着事情不是很多,对这个项目进行梳理.我主要负责地图模块,网站其他模块主要有两个,一个是报表,主要是100多张报表,技术没有难度,主要是工作量的问题.另一个是数据的校验,就是 ...

  4. CoinPunk项目介绍

           CoinPunk是一个bitcoin比特币钱夹服务web应用程序,你可以自己构建钱夹服务.开源,免费. 轻量级,高效 响应式设计 轻易创建新账户 详细的交易记录 构建于Node.js与H ...

  5. Android Hotpatch系列之-项目介绍

    给现实Android apk打补丁,不用强迫客户升级客户端,悄悄的就把bug修复了,程序猿再也不用被老大骂娘了. 客户端例子实现:https://github.com/fengcunhan/Hotpa ...

  6. xcode新建项目介绍

    xcode新建项目介绍 1.打开xcode选择“create a new xcode project 2.product name 工程名称 campany identifter 公司id 一般都写公 ...

  7. 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌

    本篇主要讲解斗地主中如何比较两手牌的大小. 友情提示:本篇是接着以下两篇文章就讲解的,建议先看看下面这2篇. 斗地主算法的设计与实现--如何判断一手牌的类型(单,对子,三不带,三带一,四代二等) 斗地 ...

  8. Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区

    Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区 Oschat IM 开源即时通讯项目介绍    255人收藏此文章, 我要收藏 发表于5天前(2013-08-28 ...

  9. NiftyNet项目介绍

    NiftyNet项目介绍  简述  NiftyNet是一款开源的卷积神经网络平台,旨在通过实现医学图像分析的深度学习方法和模块,支持快速原型和再现性,由WEISS (Wellcome EPSRC Ce ...

  10. AELF(ELF)区块链项目介绍

    AELF(ELF)区块链项目介绍,Aelf在交易所上的名称是ELF,最近涨了不少了,可以长期关注逢低建仓,根据自身情况可以适当轻仓配置点.AELF总结下来就是希望打造一个B2B的区块链开放式OS系统. ...

随机推荐

  1. 2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h

    2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x.y两个小数组长度都是4. 如果有: a + e = b + f = c + g = d + h ...

  2. 2021-09-09:企鹅厂活动发文化衫,文化衫有很多种,企鹅们都穿文化衫。采访中,企鹅会说还有多少企鹅跟他穿一种文化衫。有些企鹅没被采访到,将这些回答放在answers数组里,返回活动中企鹅的最少数

    2021-09-09:企鹅厂活动发文化衫,文化衫有很多种,企鹅们都穿文化衫.采访中,企鹅会说还有多少企鹅跟他穿一种文化衫.有些企鹅没被采访到,将这些回答放在answers数组里,返回活动中企鹅的最少数 ...

  3. ent M2M模型在pxc集群中的一个大坑

    ent M2M模型在pxc集群中的一个大坑 事故简要分析 PXC集群3个节点,在插入数据时,如果使用数据库自己生成的主键,一般顺序为1,4,7,10- 这里就是坑的源头,在ent底层代码中,在做M2M ...

  4. Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官方提供常见问题

    Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数.各版本差异.官方提供常见问题 1.Midjourney Prompt 高级参数 Quality ...

  5. 最通俗易懂的flex讲解

    30分钟彻底弄懂flex布局 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由elson发表于云+社区专栏 目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用fle ...

  6. 基于.NetCore开源的Windows的GIF录屏工具

    推荐一个Github上Start超过20K的超火.好用的屏幕截图转换为 GIF 动图开源项目. 项目简介 这是基于.Net Core + WPF 开发的.开源项目,可将屏幕截图转为 GIF 动画.它的 ...

  7. HyperPlatform

    之前也写过一个vt的框架,但是比较简单,写的比较乱迁移什么的比较麻烦,于是阅读下HyperPlatform的源码学习下. 本文只对主体框架分析. vt的流程大概如下 1:检测是否支持VT. 2:vmx ...

  8. jvm中类和对象定义存储基础知识

    1 类文件数据结构类型 Class文件结构主要有两种数据结构:无符号数和表 •无符号数:用来表述数字,索引引用.数量值以及字符串等,比如 图1中类型为u1,u2,u4,u8分别代表1个字节,2个字节, ...

  9. 在命令行按下tab键之后, 发生了生么?

    1. 引言 2. complete命令 3. 自定义补全列表 4. 动态补全列表 5. compgen命令 6. 别名的自动补全 7. 补全规则永久生效 8. 自动加载 9. 参考 1. 引言 当我们 ...

  10. 发布一个Visual Studio 2022 插件,可以自动完成构造函数依赖注入代码

    赖注入(DI)在开发中既是常见的也是必需的技术.它帮助我们优化了代码结构,使得应用更加灵活.易于扩展,同时也降低了各个模块之间的耦合度,更容易进行单元测试,提高了编码效率和质量.不过,手动注入依赖项也 ...