写在前面
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.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_idb.planinfo + timeplan_idc.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.提交任务后,回传任务id2.页面母页面对这个任务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.IPAddressnet{project.code} linuxid ipaddressprojectid 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