在PasteSpider中,项目和服务是重要的对象,只有理解什么是项目什么是服务后配置起来才不会稀里糊涂的!
PasteSpider中的项目和我们平时说的项目意思一样,比如你要开发一个在线客服系统(项目),一个商城系统(项目),一个CRM系统(项目)。这些都可以概括为一个项目,他们之间没有啥联系。在PasteSpider中还有一层一次,如果你部署的一个系统,可以用一个域名进行访问,那么就可以概述为项目!
在菜单 =项目信息=项目列表 新增,如下图:
这里的项目代表,表示使用字母的表达式,用于容器的镜像名称,所以不要使用特殊符号和中文等,可以使用英文开头混合数字,长度限定下。在整个PasteSpider中要确保项目代码唯一!
其实就是项目的中文名称,或者你能识别的名称,只作为显示使用。
这个项目的介绍,有些时候名称没办法很好的介绍项目的时候,这个描述就可以帮衬上了。
在PasteSpider部署服务后,或者升级后,会把这个项目的TemProject信息推送给这个地址,TemProject里面描述了这个项目的当前运行的服务,环境,容器的IP,端口等信息,比如在作者的一个在线客服系统,就需要在在线客服系统部署后告知在线客服系统中的某一个服务,便以服务检测子服务等。
是否启用这个项目,如果禁用了,对应的很多功能将失效!
怎么去理解服务呢,一个项目可以包括很多个服务,比如一个商城项目中,有订单服务,会员服务,支付服务等,在PasteSpider中服务为单独部署的一些功能的统称,他们往往以不一样的容器出现。你也可以理解成他们在访问的时候有特殊的路径,比如/api/user/表示访问会员服务,/api/order/表示访问订单服务。
在菜单 =项目信息= =服务列表= 新增,如下图
这个服务是属于哪个项目的,项目就是前面介绍的,比如商城项目。
类似于项目代码,这个请使用英文字母开头,混不混数字随意,你自己能识别就好,比如user表示会员服务,order表示订单服务,一个项目内,服务代码请保证唯一,因为服务的镜像名称是使用项目代码_服务代码组合而成的。
就是这个服务的中文名称,自己可以识别即可,只做显示使用。
这个输入项一般留空,主要是为文件类型(文件模式)为静态的时候使用的,用于上传文件的时候直接上传到这个路径下,注意要在所在服务器的工作目录下。
这个服务的描述信息
当前镜像版本,系统默认1000起,这个版本可以在服务器上的镜像列表中的tag可以看到,版本作为镜像的一个重要信息,不建议修改,会混乱里面的逻辑。
一般的服务监听80,也有一些是监听多个端口的,监听多个端口的话使用英文的逗号隔开,比如80,443表示这个服务内部是使用80和443端口的。
文件模式分为4种情况,
1.纯静态文件,比如html,js,css等只要放在宿主服务器上的文件夹即可,一般为网站的静态页面等
2.源码模式,PasteSpider支持git/svn模式,就是你提交自己的项目代码后,PasteSpider会自动去拉取代码,编译,构建,升级服务。这个需要和git/svn配置使用
3.发布模式,就是开发者在自己电脑上编译发布,然后使用同步工具把发布后的文件上传到宿主服务器后,执行镜像的构建和运行等
4.镜像模式,指的是镜像来源是公共镜像仓库的,比如redis,rabbit,postgre,mariadb等
这个默认留空,只有文件模式为 镜像模式的时候这里需要填写,比如redis
是否启用这个服务,如果不启用,则对应的服务不会继续执行。
这个是docker/podman里面的restart=always的参数,设定容器有异常后是否自动重启。一般是启用
如果你的这个服务需要其他服务器能够访问,那么就需要端口映射,端口映射就是打通宿主服务器的端口和这个服务的容器内的端口。这个映射会映射一个或者多个就是看上面的监听端口。
一个服务的升级过程为到发布文件夹,然后执行打包镜像的动作,打包后,在对应的服务器上拉取镜像,然后基于这个镜像运行服务(启动容器 docker run/podman run),前置命令就是在打包镜像前的命令,比如你可以从其他地方复制文件到发布文件夹,然后随其他文件一起打包到镜像中,这个需求一般是很少的。
因为服务器上的发布文件夹对于PasteSpider的用户来说是不能下载的,只能读取文件的基本信息,比如大小,创建时间,文件码等。
这个命令可以使用带参的形式,比如{{Service.Code}}表示读取当前服务的代码。更多的参数在后续会介绍!
同上面的前置命令类似,这里是表示运行服务(docker run/podman run)后执行的命令
如果你的一个会员服务,部署了10个容器,那么升级的时候系统拆分成几次升级,系统默认为3次,这样可以让升级平滑过渡,PasteSpider会在每次的升级后更新nginx的路由配置文件,这样整个升级过程耗时会加长,但是对于对外的访问来说一般是正常的,也就是平滑升级。
这里是指这个服务的镜像的保存版本,如果你文件没有改动,那么打包的镜像的文件码是一样的,这个时候删除并不会执行,具体的在菜单=基础信息==镜像列表=中可以查看到。
一般表示docker/podman的启动命令中的其他配置,比如配置虚拟目录等,端口的配置请使用上面的端口监听和端口映射。
这个和上面的其他参数类似,不过这个是启动后执行的命令,比如nodejs中,启动后执行node xxx.js
附加变量其实就是灵活的参数而设定的,一般用于其他命令等。
表示这个服务需要部署哪几个环境,比如测试环境,开发环境,正式环境等。