自动化运维平台(日志实时刷新到web界面)-创新互联
针对前面两篇博客的续写,主体的都写的差不多了,但是实际真正的功能并没有写。功能按钮如下:分支显示,打包,重启。
创新互联是专业的宜都网站建设公司,宜都接单;提供成都网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宜都网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!实时刷新到web的整体思路:
当点击分支显示时,做的操作是,把服务名发送到后端,然后调用shell执行git相关命令的操作,将所有分支实时显示到web界面上,然后通过点击触发事件将分支名加到vuex中对应的服务名后面的branch字段中,此时public公共组件里面的watch会实时监听vuex中的值将分支名称显示到如下,当点击打包按钮时,会将这个分支名和服务名一并发送到后端,执行相关的shell脚本,执行完相关的shell脚本后将jar包发送到指定的位置,当然在执行这个shell过程中会实时的将打包日子显示到web界面上,对于重启按钮显示日志也是一样的,但是这里想用其他方法实现。接下来会讲到。
用到的技术:
第一版:websocket+paramiko
参考博客:https://www.cnblogs.com/xiao987334176/p/10289262.html
思路:通过paramiko模块实现python和shell的交互,并将执行的结果保存到标准输出中,然后通过和websocket循环的方式显示到web界面中。
第二版:websocket+websocketd
websocketd的官网:http://websocketd.com/
webcocketd的简单使用:
websocketd允许用几乎任何编程语言编写WebSocket端点。
端点的连接与关系:
每当浏览器连接到该URL时,websocketd服务器将启动进程的新实例。当浏览器断开连接时,进程将停止。
如果有10个浏览器连接到您的服务器,那么将有10个独立的程序实例运行。websocketd负责监听WebSocket连接并启动/停止程序进程。
是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。它基于TCP传输协议,并复用HTTP的握手通道。有浏览器发起建立连接之后,服务端也可以主动向浏览器发送数据。
这是我自己测试的结果:
官网还有websocket+websocketd的测试,到时候将websocket的代码部分写入到vue中的script中就可以了。
websocketd官网上有测试,拷贝下来也可以自己测试,完全没有问题的。这里没有继续在代码里面实现的原因是被打击的太严重了,做完之后发现和jenkins持续构架并没有什么区别,jenkins的流程也是在本地打包,打好包之后使用ssh方式将jenkins服务器上的包发送到远程主机并执行重启相关的脚本。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:自动化运维平台(日志实时刷新到web界面)-创新互联
网站URL:http://hbruida.cn/article/hhdeg.html