论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
使用PasteSpider把你的代码升级到服务器的Docker/Podman ...
使用PasteSpider把你的代码升级到服务器的Docker/Podman上,K8S太庞大,Pas ...
张国伟
金牌会员
|
2023-10-30 20:56:03
|
显示全部楼层
|
阅读模式
楼主
主题
819
|
帖子
819
|
积分
2457
如果你的服务器的内存小于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采用双版本的方式,一个开源,一个内部开源的方式,期待你的使用!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
张国伟
金牌会员
这个人很懒什么都没写!
楼主热帖
XAF新手入门 - 类型子系统(Types Info ...
MyBatis 查询数据库
JAVA 装箱拆箱--到底指什么呢? ...
ThinkPHP5 远程命令执行漏洞
HarmonyOS(鸿蒙)开发一文入门 ...
RabbitMQ入门 -- 阿里云服务器安装Rabb ...
浅入浅出 1.7和1.8的 HashMap
红日安全内网渗透靶场-VulnStack-1 ...
Prometheus配置Basic Auth进行安全防护 ...
哈工大软件构造Lab3(2022)
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表