使用PasteSpider把你的代码升级到服务器的Docker/Podman上,K8S太庞大,PasteSpider极易上手!

如果你的服务器的内存小于16GB,那么K8S就和你无缘了,但是你可以使用PasteSpider来实现发布你的项目到服务器上!

PasteSpider是一个运维工具,使用NET编写的,部署于服务器的Docker/Podman上,他可以帮助你把你的项目发布到服务器上,支持源码模式,支持发布模式,支持一键发布!

下面基于实际案例做个例子:

我们以贴代码官方(www.pastecode.cn)的代码为例,贴代码的服务端发布分为2个部分,api部分和web部分。域名解析到服务器,然后通过Nginx代理到静态文件(web端)和运行在docker里面的api(支持部署多个,采用Nginx的upstream机制进行转发)端,

更新前端文件

我们一般使用vscode进行前端的开发或者说管理端的开发,编写改动完成后,打开PasteSpider文件同步客户端,

(上图截图自PasteSpider的配套文件同步工具PasteSpiderFile,目前适用于windows上使用,是一个CS接口的客户端)

双击2位置,表示确定这个项目--> 贴代码前端代码

然后客户端就会进行文件的对比,文件对比是采用MD5对比的,目前没有支持减法,也就是说如果你删除了某一个文件,这个同步动作是不会删除服务器上的文件的

这样更新的好处是,每次更新的文件很少,有变动的才会更新,然后是由于路径啥的都是提前配置好了的,不存在你项目A更新到项目B去的错误!!!

状态这一列会显示文件是否需要更新,0表示没有变动,-1表示忽略不需要更新,1,2表示需要更新,

然后点击上方的 ③同步文件,同步完成后服务端的文件就更新了。

更新服务端API

我这里采用的模式是发布模式,也就是要在本地的VS发布到文件夹,这样的好处是源码不需要弄到服务器上,然后是发布的时候遇到问题可以直接发现,修改后再次发布,所以对应的Dockefile就是打包的当前文件夹的模式,发布到文件夹的文件大概这个样子:

然后打开发布后的文件夹如下:

然后就是和web一样,要把这些文件基于MD5执行对比,然后上传到服务器后,然后建立升级的服务,如下:

在后端的代码更改完成后,点击解决方案,右键发布,发布完成后,在Spider同步客户端端按照上方的操作,双击2位置,表示确定选择这个项目,然后进行文件的对比。

对比完成后,点击 ③同步文件,然后点击他后面的 打开去构建,会看到如下图:(因为你的项目配置可能是多个环境,比如张三开发环境,李四的测试环境,正式环境,下面的步骤就是问你需要把这个服务发布到哪个环境下,至于这个环境需要发布到哪些服务器上就看这个项目的对应配置了)

我这里一般是点击4,因为1 和2 是默认勾选的,点击4就是告诉PasteSpider,帮我为这个服务建立新的版本的镜像包,并推送到我的私有仓库中,然后升级发服务器上的这个服务的这个环境的所有容器,同时如果配置了Nginx的话更新对应的Nginx的配置文件(因为容器的删除,启动会变更对应的IP地址等,如果是集群部署,可能数量也有变化!)

点击上图的4之后,可以到PasteSpider的后台查看这个任务,大概可以看到如下图:

上述标注的就是2个任务,构建镜像和升级服务,可以查看状态是否执行成功,如果配置了webhook,会收到对应的通知,比如我的配置了钉钉的webhook

最新版本的同步器支持一键升级,如下图

点击一键升级,会基于当前选定的项目,执行对比文件,有变动的,全部上传完成后,直接启用默认的都见并升级!

管理页面

PasteSpider运行的资源占用

结语

PasteSpider一直是我发布项目的工具,自己一直在使用,也一直在升级,比如后面支持的可以不使用私有仓库,可以不更新Nginx等,比如环境变量支持跟随容器设定等,都是在实际需求下的升级,有需求的项目就会有更新,一个没有需求的项目是不会有啥东西好升级的,只有在不断的使用中遇到不同的问题,然后才会推进一个项目的发展,目前PasteSpider采用双版本的方式,一个开源,一个内部开源的方式,期待你的使用!

相关推荐
蝎子莱莱爱打怪2 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅2 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒2 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
zhangfeng11332 天前
趋动云 如何ssh登录 服务区 项目server
运维·人工智能·ssh
ZeroNews内网穿透2 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全
失重外太空啦2 天前
nginx
运维·nginx
Gofarlic_oms13 天前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
田井中律.3 天前
服务器部署问题汇总(ubuntu24.04.3)
运维·服务器
大大水瓶3 天前
HAProxy 从入门到实战:负载均衡与流量管理全解析
运维·负载均衡