我们以贴代码官方的代码为例,贴代码的服务端发布分为2个部分,api部门和web部分。
更新前端文件
我们一般使用vscode进行前端的开发或者说管理端的开发,编写改动完成后,打开PasteSpider文件同步客户端,
双击2位置,表示确定这个项目--> 贴代码前端代码
然后客户端就会进行文件的对比,文件对比是采用MD5对比的,目前没有支持减法,也就是说如果你删除了某一个文件,这个同步动作是不会删除服务器上的文件的。
状态这一列会显示文件是否需要更新,0表示没有变动,-1表示忽略不需要更新,1,2表示需要更新,
然后点击上方的 ③同步文件,同步完成后服务端的文件就更新了。
更新服务的接口API
在后端的代码更改完成后,点击解决方案,右键发布,发布完成后,在Spider同步客户端端按照上方的操作,双击2位置,表示确定选择这个项目,然后进行文件的对比。
对比完成后,点击 ③同步文件,然后点击他后面的 打开去构建,会看到如下图:
由于我的PasteSpider只配置了一个仓储和一个环境,这里发布的选项中,仓储只能选择一个,环境可以多选,如果只是构建镜像的话是不需要选择环境的,选择4位置的构建并升级则表示提交这个服务的构建镜像任务,构建镜像完成后用这个新的镜像进行容器升级。
操作3或者4之后,会在运行记录-工作列表中找到一个新的任务,状态应该是运行中,如果是构建并升级,任务列表中是先执行构建的,构建执行到后面,才会新增一个任务升级的。如果你在通知中绑定了飞书或者钉钉的hook,则直接等待通知即可!
[通知] 在 Linux.Id:1 对项目 Project.Id:1 Name:贴代码官方 Service.Id:2 Service:贴代码-接口 Model.Id:0 Model:未知环境 的 buildimage 任务执行success! 2023/01/19 20:03:50
[通知] 在 Linux.Id:1 对项目 Project.Id:1 Name:贴代码官方 Service.Id:2 Service:贴代码-接口 Model.Id:2 Model:prod 的 update 任务执行success! 2023/01/19 20:04:06
如果任务失败了,则可以点击详细查看哪一个步骤出现问题了,甚至可能需要去服务器上看日志!
如果在spider中你为这个服务配置了路由规则,则在升级后对应的xxxx.conf文件会更新,可以在预期位置中查看到。
升级一个服务,中途遇到错误了,会回滚么?
宿主linux重启后,如何操作?里面的都是使用IP路由的,没有使用端口映射的情况下?
如果宿主服务器的docker重启了,那么容器里面的IP都会变更么?
如何保证PasteSpider的安全性?
如何减少或者避免错误发布?
redis连接不上,提示connection error,是啥问题?
私有仓库registry一定要域名么?
服务发布后可以通知么?我的服务需要获取到最新的服务运行的地址端口啥的
PasteTimer不支持单次模式么?就是一次性的任务那个
Spider可以在unbntu上使用么?
Spider支持podman么?