PasteSpider更新摘要(v24.6.14.1持续更新... .. .)

写在前面

PasteSpider整个项目分为三大块PasteSpider(主端我称为API(.net 6.0)),PasteSpiderWeb(后台管理端(js,html,css)),PasteSpiderFile(文件同步端(.net6.0),一键部署,差量同步等就是用他,不然每次升级要打开网站后台很麻烦的!!!),到目前为止是我一个人在开发!

PasteSpider自上线以来,一年有余了,我本人使用PasteSpider部署项目的总次数不下3000次!很多人可能一直在手动部署,没感觉,PasteSpider每次部署版本会+1,所以次数是很好统计的,又由于支持一键部署,感觉上就更加麻木了!

我相信一个项目要做到好,那一定是一直被需求驱动的,接触过需求的开发相信对于所谓的规范是微微一笑的,每一个功能都有被用到的情况!

PasteSpider的更新没有一定的时间,忙的时候更新慢些,没啥需求的时候更新也慢,有些重要的需求的时候,更新会频繁些,为了减少对版本的记忆,PasteSpider的版本号采用yy.M.d.T的模式,这一看版本号就知道这个版本是什么时候发布的!

最新的版本在**QQ群(296245685)**里肯定能获取到,如果你有啥需求也可以在本问评论,或者入群发言,有空后我会第一时间进行更新!

版本摘要

24.6.14.1

1.如果构建过程中失败了,需要能够执行删除,而不是1小时,可以使用2次操作删除这个操作!
2.升级之前,检查是否有不正常的容器状态,需要停止删除他们
3.如果有-v 是否执行 mkdir -p 用于创建对应的文件夹!
4.添加对APP的停止的这个动作!重启!
5.修改删除规则,采用3秒内删除2次才会删除!

24.6.10.1

1.添加一个接口,检查密钥是否可用,这样PC端的切换站点就不需要再次登陆了!
2.校验一些输入的检验,添加400的检查等!
3.关于服务器的内存警告的问题,使用量保持,启用剩余内存的警告!
4.修复通知的|all|配置不生效的问题
5.集群组件从原来的内置修改成引用PasteCluster集群组件!

24.6.8.1

1.服务添加一个属性,注意PasteSpider的网络配置要和容器一致,否则接入不了,用于启动后把信息推送给容器的,这个有可能容器没启动完整!!!
2.命令占位符添加{{App.ProAddress}},用于替换容器的项目IP地址,也就是项目需要配置网关(网关的IP地址是先计算出来的(所以在容器启动前就知道这个容器的IP了),而非网关的IP是由docker分配的,所以要启动后才知道)
3.项目网关分派IP,之前是最后一位,实际是最后2位数,也就是从254容量到254*254

24.6.7.1

1.上传到OSS需要有一个记录,用于回查
2.列出指定版本的备份文件夹的文件列表
3.构建任务的排重机制有问题,应该是jsonstring的MD5进行排重
4.修复OSS回滚文件夹指定错误的问题!

24.6.5.1

1.当前是哪个版本,最高哪个版本
2.在当前页面创建任务后,提示是否成功!
3.基于服务id读取服务器列表的接口,用于为某一个服务构建的时候,这样可以减少步骤!
4.改进备份文件夹,之前是web web.1001 web.1002这样分布,现在修改成web web.backup/1001 web.backup/1002 这样不会出现太多文件夹,也好屏蔽,因为直接目录的模式下,一般是嵌套入其他项目的目录的
5.修复前端的时间控件时间选择无效的问题,是this的作用域的问题,改版改错误了
6.修复当前版本的问题,服务有三个版本version,fileversion,currentversion(服务当前使用的版本)(感觉多服务的时候有问题,是否需要绑定服务器?)
7.???关于有端口映射的容器,在启动的时候,是否需要检查没有在运行的是否占用了这个端口???

24.6.4.1

1.修复直接目录模式下的版本删除的问题
2.修复之际目录模式下的OSS上传的问题!
3.需要可以指定上传OSS哪个版本的,这个需要客户端去支持!当前版本往前推N个版本,最大5个这样子!
4.修复PasteSpiderFile中,上传到OSS应该更改为临时模式,然后再同步文件!
5.修复暂存文件的问题!
6.关于同步,上传OSS等是否建立日志的问题?
7.静态文件的版本回撤的问题,直接指定版本覆盖过去,需要考虑是否需要同步到其他服务器!
8.静态文件指定版本上传OSS,指定版本回滚
9.工作目录的文件夹占用大家,添加对static文件夹的查询 registry publish static source

24.6.3.1

1.!!!如果只绑定了一个服务器,那么在构建升级的时候,是否可以忽略选择服务器这个过程!!!
2.或者说1步骤的,返回服务器列表只返回有绑定关系的服务器列表,不然就是选择了也无用!
3.修复推送的各项配置问题,all的代码将不再适用,需要的话就需要勾选对应的!
4.!!!表单输入的?项介绍,这个是个长期的工作内容,或者说大量的工作内容,简单点就是介绍每一个项的说明!!!##**长期任务**##
5.关于读取容器日志指定行日志的问题! podman logs -t --since="2024-05-16T03:00:00" --tail=10 postgres 读取指定时间后的多少行日志!

24.6.2.1

1.阿里云盘账号配置!
2.ServiceInfo+ OssId 有配置表示更新的时候要更新对应的云文件!
3.修复之前由于规则调整不会推送通知的Bug?
4.推送通知中添加任务名称的显示

24.6.1.1

1.vue转云的支持?
	a.所在路径比如https://www.bbc.file.com/mobile/
	b.需要替换的字眼,比如/vue_production/
2.PasteSpiderFile的文件,导出差异化的文件列表!可以用于其他作用!也就是本地文件保存!
3.上传到阿里云,是否本地化实现?
4.PasteSpiderFile的程序自动升级的问题,后续再考虑,主要是内容也不少,由于安全等问题,服务端还得做下载,大概思路是有文件过滤,然后是2边的文件版本对比,然后执行差量更新!还得有版本差异说明综合,比如现在差3个版本了,那么更新是一次,说明是列表!

24.5.31.1

1.关于项目的其他配置项没有显示的问题,比如排序值
2.关于服务的其他配置项,比如健康检查(启动后,用这个检查是否启动成功),排序等
3.关于修改的时候,不让修改的项,比如code!
4.是否启用删除!物理删除这个功能,需要查询多表,进行删除!
5.没有在运行容器,当执行升级任务的时候,是否至少启动一个容器?(基于服务-环境-服务器的运行限定,如果有设定最少运行1个那就至少会启动一个)
6.还是想把外表去掉的,有些地方不太合适,虽然简单易用
1.有一个新的思路,是否启用静态文件的云化,比如vue

24.5.29.1

1.服务-环境列表-居然没显示环境??? 
2.读取PasteSpider的日志文件,读取文件的内容 支持分页读取
3.读取版本更新内容,版本更新的内容使用倒叙模式 readme/update.md
4.服务的环境列表中关于分布的开关样式改成switch
nginx的名称变更的时候咋办??? 手动去删除还是自动删除?

24.5.28.1

1.谁创建的任务!PlanInfo + UserId
2.读取路由信息的时候,没有返回环境信息的BUG
3.任务信息,返回user信息,作为创建者信息!
4.静态同步的时候,添加一个任务,表示谁上传的!

24.5.24.1

1.镜像列表,返回这个镜像代表的服务有多少个环境,比如这个服务只开通了测试环境,那么这里就只返回测试,用于回滚的时候选择回滚哪个环境!
2.在服务容器运行数量监听的时候,基于项目的sort排序,然后再基于服务的排序,这样可以让运行数量不足的按照排序执行启动!
3.任务是谁创建的???

24.5.22.1

1.修复多服务器文件同步的问题,wget的url要用引号
2.修复service的directpath的使用和限定问题
3.修复创建任务的默认状态的问题,只有待执行的,任务打入到队列才会去执行
4.修复服务为静态类的无法创建绑定服务器的问题(文件同步,就是需要把服务绑定到服务器去!)

1.服务器列表,列表的信息显示,PasteSpider挂载的限定,理论上只能有一台服务器是挂载这个的
2.对应的文件同步的二次确认!就是文件服务器同步后的md5的确定!

24.5.20.1

1.静态文件的同步问题,同步到不同服务器!
2.读取待同步文件列表 fullpath reativepath from_linux_id to_linux_id
3.使用子服务器从主服务器下载的方式??? wget ? 使用 -O的方式下载!
4.linux1 /spider/static/project/service/xxx/xxx.html serviceid  tolinuxid downinfo!
5.service(static) 绑定的服务器,是否是当前spider绑定的宿主,如果不是,则需要推送下载的任务! 问题在于如何保证同步完成???
6.使用spider作为桥接,执行wget的下载,最后经过md5校验 和总数校验,是否成功!
7.是否使用创建任务的方式,使用子任务的形式执行下载任务!
8.路径使用占位符的模式{{workdir}} / {{directpath}} 等方式
9.Spider访问地址,可以是局域网也可以是外网的形式,主要用于同步静态文件!
10./api/spider/direct serviceid linuxid md5 planid planitemid等
11.wget 下载的路径写入到commmand中?fullpath(/index.html /app/abc.txt) md5() 只需要写入 下载哪个文件即可? 使用md5sum 检查问价的md5 对比是否正确!
12.暂存的处理 和定时任务暂存的处理 处理下载的问题!
13.创建服务的时候 需要绑定服务器!!! 静态的时候!
14.bindModelLinux 监听数量的时候 如果是静态的 不能包裹进去了!
15.镜像状态设置为isenable=false;构建镜像后,删除后,设置镜像不可用!

1.首先判断服务器数量,是否大于1
2.读取bindmodellinux
3.判断服务器数量是否大于1
4.判断当前是否是挂载服务器
5.创建暂存任务 设置为?已取消 这个ID要如何存? 如果是集群部署呢!使用缓存模式(因为集群是redis!) remote_wget_plan_serviceid 123
6.添加子任务 这里如何排重??? 有可能是集群模式!!!  这里需要使用缓存加快运行效率
7.启动任务 设置为待运行,然后推送任务 
1.容器运行数量检测的时候,排除服务类型为静态的服务
2.添加静态文件的多服务器同步的问题,这个发生在上传后,和定时执行覆盖任务的时候
3.添加PasteSpider访问域名的配置问题,用于静态服务的文件同步使用,可以填写内部域名,只要服务器之间可以访问到即可
4.静态服务的环境列表(只有一个)和分布配置!
5.挂载服务器只能有一个,配置的时候需要校验!
1.关于服务绑定环境,添加对数据的校验,添加排重校验!
2.添加远端下载文件,使用UserToken作为数据密钥,添加下载的接口
3.使用wget作为下载的通道,使用UserToken作为安全密钥 下载前使用mkdir执行文件夹的准备工作
1.定时任务中的暂存任务(静态服务的文件迁移) 基于迁移后,创建远端文件复制的任务!
2.集群模式下的定时任务的问题!由master或者single的PasteSpider执行? 集群master或者单例才执行定时任务

24.5.17.1

1.创建路由文件的时候,必须指定服务器,表示挂载在哪个服务器上
2.如果服务类型为静态的,且设置了直接目录,在升级文件后不会删除旧版本文件的问题,体现在文件夹.xxxx版本上
3.如果往文件夹/spider/direct/spider/.文件夹写入文件会跑到哪里去? 修复这个问题!
4.开放接口 读取项目的路由信息 /api/spider/open/ReadRoute
5.获取项目基础信息等 

1.处理podman的重启容器任务 可能来自本机,可能来自远端!
2.last reboot |grep begins 查看服务器啥时候重启的? wtmp begins Wed Sep  7 12:01:19 2022
3.不需要这么执行,直接让PasteSpider触发容器运行数量监测即可!
4.主要问题在于停止的如何去除
5.如果运行数量变更,或者缺少,是否需要同步,还是继续让nginx来干活?

24.5.16.1

1.修复页面/page/codeproject/view.html的提交问题,带入了非法的config配置模块
2.giv/svn中关于接收到webhook后构建命令的model判断的问题!
3.部分页面 page==1的时候没有清空下面的分页控件!!!
4.添加安全校验,-e KeepConfig:UserToken=111222333444555666 的校验,这个密钥作为token的密文,也作为集群部署的密钥,必须要更改!后续的接口信息获取等都基于这个
5.首页添加版本号,添加专题地址
6.删除镜像的问题,本地非仓库的时候执行删除代码

24.5.13.1

1.key-value中的modelcode的问题,没有做新旧兼容!
2.nginxroute的默认返回的问题,如果没有app或者Model,只要服务有配置,也是需要返回一个upstream的
3.容器列表信息返回不全的问题
4.key-value返回信息不全的问题
5.修复planinfo-planitem的列表查看和任务详细无法查看的问题!

24.5.12.1

1.前端的搜索searcharea中,添加对应的dataprojectid dataserviceid datamodelid等,用于针对项目 服务 环境等的检索
2.输入框中用xxxx:xxxxx的形式显示,前面表示ID,后面表示名称
3.使用sessionstroge的方式,会话缓存对象,利于网络使用率的提升!
4.关于编辑模式中,也采用这种方式
5.统一后端关于projectid serviceid modelid的搜索合并!关键在于字段名称 然后是时间区间的查询!
6.从form中读取的时候,校验对应的类型回正轨!
7.去除外表的设定!!!
8./page的接口实现,用于?_apiquery使用
9.统一的接口,用于实现datalist数据源! orderbydesc isenable 可用的排在前面 其实模型继承于基础表是更合适的!name code id isenable (linux store project service model nginx)
10.ConcurrencyStamp base
11.修正私有仓库的目录没有指定到工作目录下的问题!工作目录默认为宿主的/spider/文件夹,系统将会在这个文件夹下存放代码,私有仓库,证书等!

1.定时任务的任务串
	a.tasktimeplan + father_id
	b.planinfo + timeplan_id
	c.tick_evented 仅仅读取father_id==0的tasktimeplan!
	d.任务完成后,如果有timeplan_id 则尝试获取他的子集!
	e.创建任务的时候,时间或者父级二选一!也可以都不选表示立马执行!
2.针对定时任务,如何处理前端这种非编译的!!!
	a.为这种的建立一个缓存文件夹timetemp 写入前执行清空操作!
	b.存入缓存文件
	c.任务从缓存文件夹拉取文件覆盖到指定文件夹
	d.完成任务!
3.关于回撤版本这事,前端的回撤版本
	a.如果服务类型为静态的,则先创建一个对应版本的文件夹
	b.文件写入到版本文件夹
	c.全部上载完成后,把整个文件夹覆盖到目标
	d.兼容模式,上传的时候,直接写入主文件夹和对应版本文件夹!!! 如果特殊配置,则不写入主文件夹,只写入备份文件夹??? 执行的时候直接把fileversion的文件写入到主文件夹???
4.服务器的监听 添加对硬盘容量的监听/dev/vda1:32G;/dev/sdb1:16G;表示对应的硬盘占用大于这个数据的时候提示警告!
5.定时任务,从系统中获取容器状态的任务,可以自定义时间间隔,在启动的时候设定-e KeepConfig:CollectTaskSecond=300 即可表示300s执行一次
6.版本号将写入到appsetting.json中了,你也可以在启动后通过 docker logs xxx 查看当前运行的版本,至于前端需要在后台管理端的首页上方查看

24.5.4.1

1.服务的多级支持监测
2.通知按照不同维度拆分,可以为服务器,项目,服务,系统!
3.修复每次都偶要读取监听配置的BUG!做缓存处理!
4.服务器监测调整,可用内存 占用内存 总内存 缓存内存 虚拟内存!
5.修复关于触发警告的条件,如果是CPU有持续时间的说法,如果是内存则触发就通知,然后是下一次通知!
6.关于持续时间这个问题!!! 由于首次也是轮询获得,所以后面收尾也是等轮询
7.配置中添加版本号显示,添加轮询的频率控制(s)
8.修复一些ServiceId的外键问题,改用OutServiceId等,尽量后续不再使用外表这个机制!

1.MonitorLinux + FreeMemory 表示可用内存 低于这个则触发警报! 
2.是否添加流量暴增的预警?
3.是否添加对硬盘剩余量的监测,由于硬盘爆满产生的事故可不少! 注意硬盘可能有多个!!!
4.df -h 说明:Linux系统的分区格式使用的是xyzN的格式,
xy表示的是硬盘类型,如上面的执行结果,sd/vd表示是SCSI硬盘,z表示的是硬盘序号,
第一块硬盘是a,第二块硬盘是b,
所以要查询Linux系统上有几块硬盘,只要注意这一点即可。N表示的是分区号。
/dev/sdxx(物理硬盘?)
/dev/vdxx(虚拟硬盘?)

更早之前的升级摘要

1.1.0.9

1.key-value返回页码的时候,没有吧code的信息返回
2.?创建网关后没有刷新页面,需要刷新页面
3.tickerweb居然没能通过代码的校验,code校验要求是小写字母和数字

1.路由列表中,要显示是哪个项目的!

1.1.0.8

1.返回PC同步软件的排序问题,先执行项目排序,然后执行sort排序! 项目和项目之间???

2.本地镜像模式的,镜像状态的问题
3.本地镜像的检查!
4.是否记录镜像的ID?

5.本地镜像和远端镜像的区分,需要标注!
6.然后是删除的问题
7.网关列表中,查看这个网关的容器列表,其实就是项目对应的容器列表

1.1.0.7

1.同步软件,更新对文件数量的显示的支持
2.同步软件支持给多个服务端(PasteSpider)更新
3.支持指定删除服务端的某一个文件
4.支持批量从服务端删除文件,同步配置中的会忽略掉
5.添加新的权限file-del,表示是否有权限删除服务端的文件,这个权限要自己去添加

1.1.0.6

1.删除服务端的多余文件,比如VUE模式下,由于每次发布有新的文件生成,会一直积累!
2.同步文件,有失败得时候,需要禁用构建按钮,同时提醒!!!
3.多余文件列表(服务端对比本地)
4.删除多余文件(从服务端)
5.手动添加到忽略列表,或者删除忽略(本地需要更改状态!)

1.1.0.5

清理docker缓存

1.服务升级ModelUpdate,服务器缓存清理后,检查可用内存,然后才是执行停止升级等操作
2.升级管理端页面的布局等!
3.添加模板文件,生成文件可以基于这个进行生成
4.热启动,是否要支持热启动?

1.修复修改环境分布信息的时候,通知后台,没有把对应的监听对象去掉的问题!
2.修复数量数据监听的密钥限定问题!
3.日志层级的问题,分层的问题!
4.日志打印到控制台的层级的问题,应该是错误或者必要的才打印!

1.项目排序 服务排序
2.podman 和 docker的区别 1.restart 2.-f 的区别问题!!!

1.ssh连接超时后,移除服务器的缓存

1.1.0.4

1.linkhelper中服务器信息使用缓存模式 redis的模式
2.编辑的时候进行对应的变更,删除对应的缓存!
3.检查整体的日志打印,很多没有记录到log中
4.创建网卡的时候,需要使用任务模式!!!
5.整体的风格,ui的问题!
6.如果当前任务涉及更新nginx 则先执行nginx -t的检查 如果有问题,则终止任务!
7.nginxroute 需要显示是哪个项目的,哪个环境的!!!
8.关于nginx文件名重新命名的问题!!!
9.如果删除容器,nginx有,则??? 删除对应的nginx文件? 还是保留upstream 里面设置为空!!!upstream aab{ server 127.0.0.1;}
10.模板中添加对app的判定,如果没有则写入默认的upstream 这样不会由于其他地方引用而报错!
11.查询所有的任务,关于任务回传反馈的问题!!!

1.1.0.3

1.容器启动后,访问某一个地址,进行系统预热! 这个也纳入到任务中 lanuchapi 一来预热 而来测试可用心 非严格模式!
2./api/spider/user/ReportAppLaest?appname=default_29_141_f09484963ff84ac9b 需要从id中读取 而不是appid中读取

1.对于一些异步任务,比如点击nginx的重新载入,是否需要客户端执行任务结果追踪
	1.提交任务后,回传任务id
	2.页面母页面对这个任务id进行追踪,有结果后执行反馈!
2.对于文件同步过滤,引入一些常用的进行快速输入
3.任务名称的完善,有些custom的不够清晰,需要更加清晰的显示!
4.新增服务中,如果是静态文件模式,则隐藏对应的环境信息和服务器信息!
5.字段的说明,字段说明功能的引入,这样不会让使用者对一些字段啥意思不清楚!
6.页面整体风格的问题!是否修改成科技风格!
7.查看日志的时候,到最下方(表示最新) 是否开启自动刷新? 等附加功能,甚至是stream的流监听模式! 日志字段乱码的问题!!!
8.网关配置前面2位数的问题!并不是前面三位校验,是两位!
9.本地镜像问题(非私有仓储问题)在镜像列表中的显示!镜像绑定仓储id和服务器ID 表示镜像的类型和依附,以便执行更多操作!
10.为账号授权的页面的排版问题,说明问题!
11.过期信息的删除问题!
12.任务详细查看的问题,不需要使用表单模式,又不能修改,修改成label的模式!
13.任务列表,返回信息,外表对象,而不是ID

1.1.0.2

1.PC同步的读取,按照项目ID和服务的ID排序,这样每次打开的应该是一样的!

1.推送地址绑定项目,绑定项目的信息发送到这个推送地址! 是否绑定到服务,一般是服务划分的,也就是绑定到服务!
2.推送地址(个人信息) ---》 绑定到对应的 服务/项目
3.网段判断,只读取前面2位数
1.git的token校验,动态
	``
	var _sb = "1700793271574\n4d47b71f1438jb46b0677be746ada900";
	using HMACSHA256 hma = new HMACSHA256(Encoding.UTF8.GetBytes("4d47b71f1438jb46b0677be746ada900"));
	var bytedata = hma.ComputeHash(Encoding.UTF8.GetBytes(_sb));
	var _result = Convert.ToBase64String(bytedata);
	``
2.是否启用自定义网络,按照项目设定网段,这样可以不重复! 需要检验docker podman
3.自定义网段和系统网段重复的问题,然后是如何确定IP的问题(读取和设定的问题!) xxx.xxx.xxx.xxx使用0填充,可以快速排重
4.添加对流速限定的支持
5.修复读取free -t -h的时候 Gi Mi G Mi的问题
6.添加BindProjectNetwork,添加对项目的网卡支持以便应对不同的网段和重启后的路由问题

NetworkSettings.Networks.podman/birdge/docker.IPAddress

net{project.code} linuxid ipaddress

projectid linuxid StartAddress 192.168.1.0/16 

7.限流默认关闭,需要的自己打开
8.UI上对网关的配置,支持新建和删除,注意网段其实是后面2位,并不是最后一位
9.支持对一些基本信息的显示,比如网卡的 docker inspect net_tool_api 等
10.UI中,支持查看每一个容器的日志,多少行日志! 默认最大支持查看最近的1000行! 默认100 500 1000支持切换,不支持交互!
11.服务器支持查看基本信息 free -h 这样 或者其他基本信息,比如盘容量等

1.1.0.0

1.app命名规则变更 default_{serviceid}_{appid}_code 解决服务升级后报表断层的问题,理论上数量不变更的话appid是不变的
2.修复任务重复问题,添加对serviceid modelid的互斥判断,非严格模式!
3.可以直接查看容器的最后运行日志
4.适配多命令一起执行的模式 command1 && command2
5.对应接口添加权限过滤,过滤模式为serviceid+modelid模式
6.ReadMyInfo返回ExtendMenus表示这个用户拥有的菜单,如果已经是root权限,则全部返回!
7.运行的时候,返回当前版本信息,用于查看当前版本,版本号将独立于打包的版本号,自成一体
8.服务禁用的时候,会把附属的服务环境的运行监听改为禁用,需要启用需要手动去修改!

1.0.0.9

1.升级前执行判断,防止多个任务打架了,排重为serviceid+modelid
2.任务构建完成后,写入到队列中! 最好是判断后就写入,异常后再删除(撤销) 要严格的话需要适用并发排重!!!

1.手动给服务打标签,用于区分,比如sql的版本等,如果一个代码被发布到rabbitmq api grpc,则我们并不是每次变动三个服务都需要升级的,这个时候就希望有个东西做标识,甚至是多个!

2.不参与nginx的发布后,temproject中不必返回

3.查看容器的报表,按照app.ID进行查看,因为按照名字查看会乱!

// Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.

4.docker load -i  可能生成 localhost/xxxx xxxx 的镜像!!! 需要针对这个执行更加全面的判断!

5.构建升级的时候,可能触发了扩容! 导致2个冲突了

6.是否可以弄一个,直接查看执行日志的,默认读取最后1000条!

7.代码混淆的问题!!!!!!!!!!!!!

8.容器删除的问题,如果启动失败的,如何删除???
9.容器列表,什么时候重新同步的问题
10.关于非部署模式的,运行限定的问题!

nginx 错误的时候,是否删除当前nginx文件,防止干扰整体系统!

升级的时候,如何防止 运行数量的检测!!!

1.0.0.8

1.搞一个网格报表 可以形成类似git的网格数据,年度更新一目了然
  项目id 服务id 日期 升级成功次数 升级失败次数 扩容成功次数 扩容失败次数 收缩成功次数 收缩失败次数


1.基于列表,是否设定默认选中 和排序 比如构建并升级,默认构建的环境和服务器等!这个会影响一键升级(动态指定,记住我的选择,下次使用?)

1.Service.LastDate 最后一次升级时间,用于界定最后升级时间,比如你代码更新了,服务是否升级了,构建镜像不算!

1.服务添加,是否更新Nginx 是否清理服务器缓存 是否使用仓库模式
2.不更新nginx的服务将不在nginx的对象中返回
3.modelcode-->modelid模式,为后续自定义model做准备!

更早之前集合

1.UI中关于项目的下拉 和一些搜索前后项的顺序调整

1.service 配置 每次任务前是否需要清理服务器缓存(默认false)
2.service 配置 每次任务是否需要变更nginx(默认true)
3.基于2.需要变更TemProject的对应的内容
4.添加配置是否使用仓库模式

1.为列表页面和编辑页面分别建立不一样的下拉接口,以便执行渐变的搜索下拉功能!
2.开始任务前的清理缓存,应该要配置,是否执行这个设定,这个设定要给?项目还是服务?
3.一些读取是否追踪的检查,如果不是需要变更,没必要追踪!

1.合并nginx的upload -t reload 等,做好可以回撤的这个事宜!
2.从项目角度出发,点击查阅服务,环境,同步等!从项目角度执行管理!
3.100%一直跑,如何监测? 超过50% 写入key 下一次去判断 如果存在,且当前>50% 则发出警告!!!

1.关于nginx的备份机制
2.nginx.upload nginx -t 一并执行!有问题的话,执行回撤!

1.默认列表页面内容为 可用状态的列表
2.下拉专用接口
3.排序,按照项目,服务 的规则

1.修复修改运行限定数量后,监听端没有同步这个限定,导致的数量超出限定!

1.新增服务,添加对服务器的绑定操作!要校验服务的类型需要为非静态!
2.网页版的文件同步,关于有直接路径的,显示直接路径,否则显示默认规则的文件路径
3.修改项目的代码必须是小写!环境变量,服务代码等同理!使用正则进行校验^[a-z][a-z,0-9]{2,7}$
1.修复一个同步配置的问题,就是被禁用的同步项目

1.服务器的详细信息,各个文件夹的内存占用情况
2.测试数据量的数据问题

1.为各个表添加附加字段
2.修整stream,为后面的监听做准备
3.监听数据流待测试,还要测试停止,检查是否内存泄漏! 如何服务端主动停止呢?

1.可以使用流的形式来监听容器运行状况,注意检测内存占用情况!
2.在HostedService内进行监听!
3.du -sh /spider/ 查看工作目录磁盘占用大小!
4.df -h 查看 /dev/vda1 /dev/vda2等的大小,确定磁盘容量!
1.搞个服务器看板 内存占用% CPU% 硬盘占用% 挂载目录XX GB/MB
2.同步软件搞个远程删除服务器上的某一个文件(需要权限控制)
3.who查看系统最后一次启动的时间,可以推算出有没有重启!

1.修复容器的IP地址可能获取失败的问题,有时候外围的IPAddress可能为空,修改成从网卡中获取,可能为多个
2.修复多端口获取的时候的显示问题,从服务器中加载容器列表
3.独立小任务,现在添加到任务列表中了,不过没法看具体的实现过程!可以考虑添加小任务进行跟进
4.修复路由重载过程中linux.id传参错误的问题,这个问题可能导致多个服务器模式下的Nginx更新失败的问题!
5.扩展知识 当使用jobject[""][""]的时候获取的是匿名的{xxx:xxx}信息,外围自动包裹了一层,所以和实际的有出入!

https://blog.csdn.net/succing/article/details/122433770?spm=1001.2014.3001.5506
1.服务器重启,或者说podman/docker重启后,所有的容器的IP都变更了,这里需要重新执行一遍,然后重新绑定nginx
2.使用自定义网络连接,重启后也可以保持原来的IP
docker run -itd --name=container3 --net=mynet --ip=172.25.3.3 nginx:alpine #只使用自定义网络 docker network create -d bridge --subnet 172.25.0.0/16 mynet #自定义名字为mynet的网络,subnet指定子网网段(不能与其他网卡的网段重叠) docker network connect --ip 172.18.0.2 mybridge mynginx(podman不支持指定IP,需要创建的时候指定) //查看有那些网络 docker network ls ip addr //查看网络情况 docker inspect mynet //查看网络情况
一个项目一个网段? netspier 一个ip段 IP自动分配,则寻找IP的时候需要根据项目进行执行查找!
3.一个项目设定一个IP段,项目之间不互通!要互通的话使用局域网IP或者外网IP,使用端口监听!
ip段排重 docker network ls 排重
容器IP设定,排重!
4.新增重新发布nginx的命令,这样可以灵活操作!

1.修复获取容器的端口错误的问题,修复多端口的时候的问题!
2.获取服务器容器列表的时候没有IP地址,这个需要一个一个调用inspect!
3.获取服务器的容器列表,引入小任务模式,小任务通过队列发送给任务执行者,比如读取容器的详细信息(ip地址等!)
4.目前还有一个问题,就是端口的顺序!端口是先获取预留的,然后绑定运行,理论上应该不会混淆,正常情况下容器里面的端口是先设定的!
5.修改整体的UI样式,调大表格的行间距,去掉边框

1.修复podman构建镜像的问题,需要使用–format=docker 兼容docker
2.WEB的文件同步,需要提示错误信息,特别是413错误的时候!否则可能导致失败! 提示错误!

1.在unbntun模式下为啥要外网的ssh才可以访问!!!
2.修复其他服务器登陆到registry的错误问题
3.修复一个可能导致镜像不会自动被删除的错误问题

4.查看报表的时候,需要设定服务器,否则可能多个服务器都有这个容器在运行,导致报表混乱!
5.修复上周数据没有的问题,因为归纳到小时数据中去了!!!

1.?发表帖子,关于PasteSpider中支持哪些占位符,也就是App,Service.Linux.Store等的说明!
2.?关于删除的容器的报表数据,是否需要删除?还是等待时间过期后由任务删除!
3.关于是否集群部署还是单例的时候的一些定时任务的配置问题,本地化还是远程模式!添加配置,本地任务还是远程任务,集群模式必须使用远程模式

1.在修改配置文件的时候,如果没有最高权限,则强制附加作用域为自己,不能修改他人的!
2.月报表数据过多的问题,需要合并小时的数据到天,当报表为月的时候调用日的数据,非最近的为小时的数据
3.发表帖子,关于PasteSpider中宿主服务器需要支持的命令有哪些,由客户自行安装组件

1.修复添加按钮的布局问题
2.修复推送接收者的读取接口的问题(IRepository和DbContext打架了)
3.?添加关于每一个项的说明,比如参数,推送地址等的说明等

1.linuxworkdir/exchange/linux.id/xxx
2.写入到队列中
3.boolBind 为主服务器!就是是否是挂载PasteSpider的服务器

1.同步文件的配置添加用户ID,表示这个用户生效这个配置,为0表示所有用户都生效,如果两个冲突了?不稳定
2.移除是否文件夹的字段,采用是否/结尾来判断!

!!!有些命令必须要检查 yum install net-tools
1. top free netstat cat docker podman nginx
2. 添加任务分类 检车命令 然后复制给对应的项目
3.任务添加限时限定
4.创建docker podman等

1.修改UI的报表中的布局,去除不需要的列,多个列一样的共同使用一个!

1.linuxinfo.BoolBuild 用于标注当前服务器是否是主服务,如果上传文件不是当前服务器,则需要进行sftp的桥接工作!
2.上载后,判断目标不是主服务,则需要写入临时文件夹,然后启动远程传送,传送完成后,再启动任务?
	1.上载的时候判断是不是主服务器,然后建立桥接的队列任务!
	2.消耗队列任务,从主服务上载文件到分服务器! 上载给哪个是如何界定的?
	3.上载任务的报表? 流水号 单项信息

3.日历运行图 小格子显示内容 近期的90天?
4.
5.自动安装nginx 
6.自动安装mysql postgresql redid等 只要密码?
7.文件夹忽略 支持用户级别!

1.服务列表中添加镜像名称显示,用于用户自我排查!
2.修复移动端打开管理界面的问题,设置最小宽度为400vw --单个项目的最小宽度!
3.修复移动端layer.open的问题,改用fixed布局,避免黑屏的尴尬
4.修复登陆后登陆账号的显示的问题!window.parent.setNickName(‘’);

1.修复接口中获取用户ID错误的问题!
2.启用分账号的功能,部分接口需要提权到root!私有仓库 代码同步  key-val 等
3.创建基础镜像中的dockerpull的命令,只需要编写镜像信息即可,不需要命令 docker pull
4.修复构建基础镜像中的参数传递错误的问题 store.id传递给service.id了
5.添加对服务器选择的前端页面的支持,采用对话框的模式,回调回调用端进行后续的操作
6.修复构建基础镜像包中关于docker和podman的区别代码,注意podman的tag会变成localhost/xxxxx:xyz的模式!

1.?创建和编辑路由的时候,勾选的服务器没有生效!
2.路由编辑的时候,可以勾选服务器了,没有勾选的,或者说取消的会删除绑定关系!
3.修复路由新建的时候勾选的服务器无效的问题!
1.创建服务器上,尝试连接,读取机器码!验证失败后要删除所有动态连接,以备下次使用
2.创建服务器后要针对私有仓储进行绑定操作!
3.修复命令daemonpulltry的操作缺失的问题,修复关于加入私有仓库中容器重启的操作(podman不需要这个动作)
4.podman不需要登陆,只需要加入白名单和加入证书即可!不需要重启!
5.podman的本地镜像是localhost/开头的
6.修复镜像target删除的问题,是按照镜像指纹删除的,这就需要判断最后的版本是否和之前的一样,如果是一样的可能全部被删除了!
7.镜像的更改由之前的自增ID变更为指纹ID,根据指纹ID进行批量操作!
8.在容器列表中,检查容器状态的时候,需要检查容器的名称是否有,如果没有则更新上去
9.添加任务,构建基础镜像包,用于提升构建和下载速度!

1.?Ubuntu作为部署registry私有仓库
2.? 为指定服务拉取基础镜像版本,以便提高后续的构建和下载速度!xxxx:basic

1.修复新版本不按时统计数据状态的问题
2.添加日构建数列,参考geitee的方式,罗列每日的更新状态,初步全部成功 部分成功 全部失败 无 4个状态!

1.文件结构的调整,更适合调用层级
2.读取首页报表的查询顺序,先要从appinfo中获取,反向读取服务器和项目!
3.报表的渲染,是否考虑直接按照小块,一小块一个报表!进行数据封装
4.?设定某一个版本作为基础镜像包,以便提高镜像构建速度,判断是否存在,不存在则拉取,然后重新命名
5.?刷新服务器缓存,清理服务器缓存 Manage LinuxCleanCache
6.报表的时间修改成 最近 今日 昨日 本周 上周 本月 上月 直接选择的跨度!
7.启动页面的报表调整,调整成直接显示代表的图表,显示近期的30条状态。每个服务显示第一条,然后每台服务器的都显示,可以快速的一览是否有异常的运行状态!
8.图表取消圆圈,采用平滑线谱模式。
9?鉴于centos的维护问题,考虑往其他平台靠和测试!

1.终于找到自动扩容自动缩减的问题了,是app的状态为预删除,下次启动的时候就被启动了!
2.这里逻辑有问题,应该先读取数量限定,然后再计算数量的!
3.完善ModelUpdate,将会执行一次数量限定的校验,低于限定的会进行扩容,同样的如果高于则会进行减配,同步进行升级减配扩容等操作
4.执行命令中添加确定删除的这个动作,预删除会干扰一些任务的执行!

1.服务器的具体缓存信息 free -h
2.清除服务器缓存 buff/cache
3.服务器报表添加 可用内存数据

1.修复服务器网络数据读取错误的问题!eth0的问题
2.修复权限的问题,之前会一直403问题,是因为缓存的key的问题
3.修复报表的空值问题!

1.远程删除配置的xxx.conf
2.远程检测nginx的配置
3.远程执行 nginx -t && nginx -s reload 获取返回的结果

//其他镜像仓库的支持,这个需要规划测试!
4.添加对podman的支持(是否支持registry) 或者支持外部的仓储? 如果是先登陆,过期时间是多久?
5.关于更改软件源的问题
6.读取某一个容器的日志(最后多少行... .. .)
7.授权页面,给账号授权服务! 环境勾选 xxx项目 口service 口default 口test 口prod

1.修复路由信息状态禁用的问题
2.修复路由信息没有绑定服务器的问题
3.添加用户授权模块,用户授权绑定服务和环境
4.项目信息中添加推送地址,用于升级服务或者扩容后进行推送,推送的信息为TemProject(运行关系图) 升级,扩容,缩配,停止等
5.服务信息中添加检查地址,用于容器启动后检查服务是否正常启动。这个功能后续开启
6.引入镜像模式,你现在可以用spider发布redis等外部镜像服务了
7.注释了多处资源浪费的问题,尽量做到数据库连接重用。

1.容器日志,最后100行
2.添加对podman的支持
3.xxx.conf的删除
4.远程执行nginx -t && nginx -s reload
  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用pyecharts绘制非洲地图,需要先安装pyecharts和pyecharts_maps模块。可以使用以下命令安装: ``` pip install pyecharts pip install pyecharts_maps ``` 然后,可以使用以下代码绘制非洲地图: ```python from pyecharts import options as opts from pyecharts.charts import Map # 定义数据 data = [('Algeria', 42.3), ('Angola', 28.8), ('Benin', 10.6), ('Botswana', 2.3), ('Burkina Faso', 20.3), ('Burundi', 11.2), ('Cameroon', 24.6), ('Cape Verde', 0.5), ('Central African Republic', 4.5), ('Chad', 15.8), ('Comoros', 0.8), ('Congo-Brazzaville', 5.3), ('Congo-Kinshasa', 84.1), ('Cote d\'Ivoire', 22.7), ('Djibouti', 1), ('Egypt', 98.4), ('Equatorial Guinea', 1.3), ('Eritrea', 3.5), ('Ethiopia', 114.9), ('Gabon', 2.1), ('Gambia', 2.3), ('Ghana', 31.5), ('Guinea', 12.4), ('Guinea-Bissau', 1.8), ('Kenya', 52.6), ('Lesotho', 2.2), ('Liberia', 4.8), ('Libya', 6.4), ('Madagascar', 28.4), ('Malawi', 18.6), ('Mali', 19.1), ('Mauritania', 4.5), ('Mauritius', 1.3), ('Morocco', 35.7), ('Mozambique', 28.8), ('Namibia', 2.5), ('Niger', 21.5), ('Nigeria', 200.9), ('Rwanda', 12.2), ('Sao Tome and Principe', 0.2), ('Senegal', 15.9), ('Seychelles', 0.1), ('Sierra Leone', 7.7), ('Somalia', 15.4), ('South Africa', 59.3), ('South Sudan', 11.1), ('Sudan', 43.9), ('Swaziland', 1.1), ('Tanzania', 59.7), ('Togo', 7.6), ('Tunisia', 11.7), ('Uganda', 44.2), ('Western Sahara', 0.6), ('Zambia', 17.7), ('Zimbabwe', 14.4)] # 创建Map对象 map = ( Map() .add("GDP per capita", data, "Africa") .set_global_opts( title_opts=opts.TitleOpts(title="非洲各国GDP人均表现"), visualmap_opts=opts.VisualMapOpts(max_=200), ) ) # 渲染图表 map.render("africa.html") ``` 运行完毕后,会生成一个名为"africa.html"的html文件,里面包含绘制好的地图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值