php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 552|回复: 0

Oneops运维系统

[复制链接]

3142

主题

3152

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7956
贡献
0
注册时间
2021-4-14
最后登录
2024-11-22
在线时间
763 小时
QQ
发表于 2022-3-23 16:34:18 | 显示全部楼层 |阅读模式
背景:公司对接其他系统时都会将业务分为几大模块由不同的人员去开发部署。那么部署方式为传统方式登录服务器,然后操作。所以每次上线我们可能都需要等待别的同事操作完才能操作自己所负责的业务系统。针对以上场景在公司做了一个小的运维站点:主要解决业务系统的在iis上创建、发布、回滚、删除等操作。同时提供操作步骤实时页面输出

      主题:为了解决上面的问题,便捷性,做出如下结构:

         OneopsClient:前台项目:提供功能:

           (1):登录时选择操作环境,切换环境

           (2):用户管理:添加,删除 可操作Oneops站点的用户

           (3):服务器管理:添加,删除Oneops管理的服务器

           (4):应用管理:查看各服务器上站点信息;向服务器添加,发布程序;回滚程序,删除程序;实时展示操作步骤

        OneopsServer:后端执行具体操作业务服务。将在需要管控的服务器上部署



对应我们的项目层次图如下:
image.png
项目使用技术点:.netcore3.1   Efcore   Sqlite  Redis  SignalR Jwt  (Rabbitmq)



功能图解释:

登录,选择操作环境:
image.png
这一步我们将拿到对应环境的token,在后面请求中使用

用户管理:
image.png
这一步我们将可以添加或者删除操作Oneops账户



服务器管理:
image.png
当我们添加服务器时,那么需要将Oneops在此服务器上部署,删除时 Oneops将不再对此服务管控



应用管理:
image.png
我们将展示所有添加服务器上iis站点信息,可根据ip或者站点名去搜索。



添加应用程序:
image.png
添加应用程序时,将要提供你为站点取得名称,要部署的机器ip(可同时发布多台服务器),站点使用的端口号,支持创建.netcore  和Framwork类型的应用程序,和绑定的域名 和站点创建时对应项目的物理地址,最后上传我们的项目压缩包(压缩包需要带版本号目前是以_X)来表示 可在项目源码中更改



发布:用来我们迭代过程中更新我们项目版本
image.png
这里会带出我们选择要发布项目的名称以及你选择的同一应用不同服务器的信息(多台服务器同一项目同时发布)列出最大版本号,上传时版本号不能低于最大的版本号。



回滚:
image.png
回滚时目前只能单台服务器回滚。会加载出之前发布过的项目文件名让选择。目前只会保存最近的三个回滚包,需要改动可以在配置文件中更改回滚包数量

删除:
image.png
目前也是只能单个操作 将删除应用程序和应用程序池



日志:功能展示没有开放   可以自行链接到自己公司的elk或者文件等

实时步骤信息展示:
image.png
任何操作都会实时展示出服务端具体在做什么。绿色代码步骤通过,红色信息为某一步骤失败

Ps:步骤信息展示 本来是用rabbitmq +SignalR 实现 但是 mq并不能保证我们消息的顺序性会导致步骤信息错乱  代码保留了 但是最后换成了api回调+SignalR

github地址:https://github.com/NeverGiveUpChange/Oneops





上一篇:dotnet 委托的实现解析
下一篇:C 如何将输出的地址转化为十进制数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-22 09:41 , Processed in 0.275248 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表