在菜单=项目信息==项目环境= 中,在PasteSpider中项目->服务->环境,也就是服务是不能运行的,得绑定环境,比如开发环境,测试环境。通过这个概念你可以实现不同得人部署不同的环境,他们之间公用同版本的镜像,又可以使用不一样的配置。
如上图,意思是给某一个服务配置一个环境分布在哪些服务器上运行。
选择指定的环境,这个环境的新增和编辑在=基础信息==环境配置=中。
这个描述一般用不上了
就是为哪个项目的服务配置环境信息
就是这个服务的这个环境要在哪个服务器上运行。
在之前帖子中,介绍了PasteSpider的项目服务文件是上传到服务器后进行相关处理的,那么我们就希望不是每次都是完全覆盖的,所以PasteSpider引入了文件MD5的筛查和过滤机制,就是通过配置可以配置哪些文件必须要上传,哪些文件不再上传,哪些文件夹可以忽略等。
在菜单 =项目信息= =同步过滤=中,如下图
如上图所示,文件还是文件夹是按照填写的内容的结尾决定的,注意文件夹用/表示,因为是使用于Linux系统上。
账号ID的作用表示这个服务中的这个过滤配置只有登陆的这个账号生效,比如有2个前端,各自编写一些内容,则可以基于实际情况配置非自己的忽略,这样就不会覆盖他人的文件变动了。
这个功能类似key-val,不过和PasteSpider中的服务和环境绑定了关系,基于这个你可以配置不同环境不一样的配置,比如商城系统,在测试环境中使用数据库1,在开发环境使用数据库2.
打开菜单 =项目信息= =键值配置=,点击新增如下图:
键值对中的键,在一个服务一个环境下唯一,请注意!
键存储的值,可以使用{{}}占位符号,不过得注意,比如你在这里就没法获取{{App.Address}},因为这个时候容器还没启动,不能获得容器的IP信息,容器的名称这个时候是可以读取到的。可以通过项目中的推送地址,把TemProject推送到对应的地址获取。
这里是给读取方使用的,无论啥类型对于PasteSpider来说都是存储为字符串到数据库的。
这个键值信息作用于哪个服务
选择哪个环境下才要读取这个信息,如何判断自己得服务当前处于哪个环境?容器启动的时候会带入环境变量 -e "RunConfig:Model={code}",这里的{code}就是环境的代码。比如default,test等。
你可以在外部环境中读取这个配置信息,不过得遵循API密钥得规则,这样可以保护信息。
这个要查看服务介绍哪个文章,在docker/podman的run命令中,可以带入参数,比如-v "dbconnectionstring=User Id=xxx",如果勾选了这个环境变量,那么在docker/podman run启动容器的时候,会根据所选的服务和环境,进行参数的带入,比如你在一个服务器上创建了5个一样的服务的容器,在里面的代码中你写入了日志文件(日志文件我们一般是映射给宿主的,不然容器删除就没这个日志了。)/log.txt。这个时候就发现一个问题了,他们在抢这个文件的所有权。这个时候可以引入配置!logs/l{{App.Id}}g.txt。这个值会基于当前的情况进行字符串替换。比如{{App.Id}}就是替换成当前容器的id。