我们以贴代码官方的代码为例,贴代码的服务端发布分为2个部分,api部门和web部分。
更新前端文件
我们一般使用vscode进行前端的开发或者说管理端的开发,编写改动完成后,打开PasteSpider文件同步客户端,
双击2位置,表示确定这个项目--> 贴代码前端代码
然后客户端就会进行文件的对比,文件对比是采用MD5对比的,目前没有支持减法,也就是说如果你删除了某一个文件,这个同步动作是不会删除服务器上的文件的。
状态这一列会显示文件是否需要更新,0表示没有变动,-1表示忽略不需要更新,1,2表示需要更新,
然后点击上方的 ③同步文件,同步完成后服务端的文件就更新了。
更新服务的接口API
在后端的代码更改完成后,点击解决方案,右键发布,发布完成后,在Spider同步客户端端按照上方的操作,双击2位置,表示确定选择这个项目,然后进行文件的对比。
对比完成后,点击 ③同步文件,然后点击他后面的 打开去构建,会打开网页,转到对应的页面,会看到如下图:
上图的意思是,这个服务没有私有私有仓库,所以对于环境上是服务器和环境,这里只要点击4,系统即会执行用新的文件构建这个服务的一个新的镜像版本,然后基于这个新的镜像版本进行容器的升级服务!只要点击4一下!!!
查看详细后,你还可以看到大致如下的内容
操作3或者4之后,会在运行记录-工作列表中找到一个新的任务,状态应该是运行中,如果是构建并升级,任务列表中是先执行构建的,构建执行到后面,才会新增一个任务升级的。如果你在通知中绑定了飞书或者钉钉的hook,则直接等待通知即可(以下是我的钉钉的webhook群的消息)!
如果任务失败了,则可以点击详细查看哪一个步骤出现问题了,甚至可能需要去服务器上看日志!
在开发中我们都知道,有些时候需要频繁的升级,以上是2个服务的升级例子(一个web和一个api)
这么升级的好处有几个要点
1.每次升级都是差量的,不需要浪费大量时间去传递文件,也不会因为你人为的判断,少更新文件
2.基于服务的过滤配置,你可以配置忽略某些文件的更新,比如我的appsettings.json每次升级都是忽略他的,你也可以配置忽略某些文件夹
3.减少升级步骤的错误,如果是手动的话,步骤这么多,很容易错误了,每次的升级步骤他都是一样的,机器就是用来干这种活的!
4.如果你是一个服务挂载多个容器的,基于Nginx的配置,你还可以做到平滑升级(静默升级)
5.基于项目的权限和环境拆分,还可以避免他人干扰!配置好了后,各自升级各自的!
6.如果你不是本地发布的,还可以使用PasteSpider中的SVN/GIT模式,也就是类似Jenkins的,你往源代码管理提交源码后,系统自动去构建,升级!!!
使用PasteSpider实现类似Jenkins的功能,让你的2G服务器也可以飞起
如果在spider中你为这个服务配置了路由规则,则在升级后对应的xxxx.conf文件会更新,可以在预期位置中查看到。