首页 > 其他分享 >使用PasteSpider把你的代码升级到服务器的Docker/Podman上,K8S太庞大,PasteSpider极易上手!

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

时间:2023-10-13 18:35:54浏览次数:35  
标签:文件 PasteSpider 更新 升级 Podman 发布 服务器 Docker

如果你的服务器的内存小于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采用双版本的方式,一个开源,一个内部开源的方式,期待你的使用!

 

标签:文件,PasteSpider,更新,升级,Podman,发布,服务器,Docker
From: https://www.cnblogs.com/pastespider/p/17762879.html

相关文章

  • docker搭建gitlab,集成CI/CD(gitlab-runner)
    搭建gitlab和gitlab-runner首先配置GITLAB_HOMEexportGITLAB_HOME=/srv/gitlab如果你是在BASH下,可以将以上配置放到~/.bash_profile文件中,使用source~/.bash_profile使其永久生效。dockerrun--detach\--hostname192.168.1.205\--publish9443:443--publish9......
  • 搭建Halo博客教程(阿里云 Docker)
    搭建Halo博客教程(阿里云Docker)购买阿里云服务器ECS在阿里云购买需要的服务器ECS这里选择安装的操作系统CentOS8.264位连接阿里云的服务器用SSH客户端进行连接服务器用PuTTY进行连接服务器打开阿里云控制台服务器ECS第一次创建的服务器要进行重置实例......
  • Docker dnmp 多版本php安装 php8.2
    Laravel9开发需要用到php8.1以上的版本,而dnmp只支持到php8.0。安装php8.2的步骤如下: 1.从/services/php80目录复制一份出来,重命名为php82,extensions目录只保留 install.sh和 install-php-extensions这两个文件 2.修改.env文件,添加php82的配置参数:##PHP82##......
  • Docker 安装Skywalking
    安装SKYWALKING可以采用H2存储数据或者ELASTICSEARCH存储,我们这里采用ELASTICSEARCH存储,采用OAP处理数据,并基于SKYWALKINGUI展示数据,所以安装的服务有多个安装ElasticSearch7安装kibana安装Skywalking-OAP安装SkywalkingUI参考地址https://skywalking.apache.org/downl......
  • docker中使用systemctl方法
    想在docker中使用Flexmonster,但是在配置环境后,发现Flexmonster需要使用systemctl来管理服务,然而在docker容器中没有systemctl可用,于是开始折腾之旅!以下是解决办法:1、下载systemctlwgethttps://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/d......
  • 将docker里的所有正在运行的docker容器commit成images镜像并推送至harbor仓库里
    脚本一需求:将本地服务器上正在运行的所有容器打包成镜像并上传至Harbor仓库下的指定项目里  #!/bin/bash#设置Harbor仓库的地址和凭据HARBOR_URL="192.168.1.55:88"HARBOR_USERNAME="admin"HARBOR_PASSWORD="Harbor12345"HARBOR_PROJECT="m55all-images"#登录到Harbor仓......
  • wsl无法启动docker
    报错信息failedtostartdaemon:Errorinitializingnetworkcontroller:errorobtainingcontrollerinstance:unabletoaddreturnruleinDOCKER-ISOLATION-STAGE-1chain:(iptablesfailed:iptables--wait-ADOCKER-ISOLATION-STAGE-1-jRETURN:iptablesv1.8.7......
  • 130G docker seafile 从华为云迁移至腾讯云
    背景华为云到期,续费价格贵,腾讯云便宜,因此需要搬家华为云ubuntu16.401核2G200G系统盘,腾讯云同配置docker版seafile,文件总量130G力求简化粗暴无伤迁移方法操作华为云试做一个镜像,看看镜像有多大,测试后约90G在华为云买一个100G一个月时效的OBS,大约3.6元通知客户停机,做......
  • docker入门加实战—docker常见命令
    docker入门加实战—docker常见命令在介绍命令之前,先用一副图形象的展示一下docker的命令:常见命令docker的常见命令和文档地址如下表:命令说明文档地址dockerpull拉取镜像dockerpulldockerpush推送镜像到DockerRegistrydockerpushdockerimages查看本......
  • Docker 基础03
    十一、使用Docker-composeDocker使用Python语言编写,用于定义和运行多容器Docker应用程序的工具。通过Compose可以使用yaml文件配置应用程序所需要的所有服务。然后使用一个命令,从yaml文件中创建并启动服务。11.1安装docker-compose官网地址:https://github.com/docker/compose......