要在docker环境中部署工智道,首先要明确一些事情,工智道部署的版本,是否需要积木(lowcode),系统的客户用量。
有哪些机器?
部署机器分为web服务器和数据库服务器,web服务器的规格是2核4G,系统盘60G;数据库服务器的规格是4核8G,系统盘60G,数据盘100G。
客户用量为100人以下:一台web服务器,一台数据库服务器,两家客户共用一套。
客户用量为100~300人:一台web服务器,一台数据库服务器,独用一套。
客户用量为300人以上:两台web服务器,一台数据库服务器,独用一套。
需要什么文件?
上面的文件准备好之后,打包放到同步服务器的共享目录中(C盘的UpdateFiles目录),其他公网机器可以通过http://103.229.212.76:81/文件名
来下载,比格云内网机器可以通过http://10.100.14.2:81/文件名
来下载。
需要提前进行什么准备?
需要确定客户的名称、客户代码以及网站域名。
服务器列表中搜索通用服务
,下面的BJ1和BJ2两台服务器是负责客户代码返回服务的,连接两台服务器,找到网站中的service
站点,浏览站点文件,其中的url.config
文件就是维护客户代码的xml文件,新增一行,添加key(客户名称),code(客户代码),url(客户站点)。两台服务器都要修改,修改之后重新启动服务。
原生工智道需要搭建好 inroad数据库 和 todo数据库 基础环境,我们的数据库服务器的镜像是已经安装好了sql server和sql server 管理工具的,我们首先打开sql server 管理工具,使用windows身份验证进行登录,然后可以开始搭建数据库基础环境了,这里有两种方式:手动搭建和自动搭建。
手动搭建
连接到DB-OA_CUSTOM-张家港-天然气管网
这台服务器,拉取Inroad-Base的数据库备份文件和InroadTodoService-Base的数据库备份文件(可以去数据库里找到最新版本的数据库备份一个,也可以去备份目录里面找一个指定版本的备份文件),总之拿到Inroad-Base版本号.bak
和InroadTodoService-Base版本号.bak
两个文件
把这两个文件复制到我们要部署的数据库服务器上,在服务器的D盘中,新建DB和DBBAK两个目录,在sql server管理工具中,右键数据库
,点击还原数据库,然后进入还原选项。
这里要注意的地方是目标数据库名称,格式应该是Inroad-客户名称缩写
。
这里按照图中的规范来就行了,要注意的地方是图比较糊,设置好之后点击确定就可以还原了。
还原成功了之后,在这个数据库中新建查询,有一个sql脚本,把其中的语句粘贴进去执行,脚本内容太长就不把代码贴在这里了,主要的作用是创建一些作业。执行成功之后进到图中这里刷新一下看看作业是否生成。
设置备份计划。这一步看图就行
管理——维护计划——维护计划向导,跳过起始页
这个图箭头标错了,确认任务顺序没问题就选择下一步
选择报告选项,默认即可,点击下一步
完成向导,点击完成
等待维护计划向导完成,关闭即可
查看维护计划是否创建成功。作业需要刷新
新建一个todo数据库,命名为InroadTodoService-客户名称简写
,在todo数据库中新建一个查询,粘贴SQL语句,SQL语句太长就不贴了,执行的目的是初始化数据库结构。
自动搭建
执行一个auto_install.bat,这是一个Windows脚本,我还没试过,试过了再写。
select * from CommonConstConfig where consttitle='CommonFileServer'
,查到下面的数据其中CommonFileServer是指公共服务:文件服务的地址 https://uploadfilenew.in-road.com/FileUploadHandle.ashx,这个是默认参数。如果是客户内网部署公共服务,就需要修改这个地址,改为客户内网文件服务的地址。
进入Inroad数据库,执行select * from CommonConstConfig where consttitle = 'autoupdateurl'
,如果查到的constvalue的域名是客户自己的,那就不用更改,如果查到的是filesnew.in-road.com域名,就要执行下面的语句
1 | -- 其中把版本号和apk的版本号都换成客户安装的版本 |
执行select * from CommonConstConfig where constvalue='工智道基础x'
,如果出现这些数据,就按图中操作。
另外补充一点,执行select * from CommonMobileSms order by c_cretaetime
,可以查看登录时接收的验证码。
在ubuntu环境中部署
1 | # 更新 |
把配置文件下载到web服务器,登陆镜像仓库
1 | # 上传操作的用户名和密码 |
1 | version: '3' |
appsettings.json
1 | { |
./Properties/appsettings.json
1 | { |
数据库修改
select * from CommonConstConfig
把consttitle
字段的值为CommonFileServer的所在行的constvalue
字段的值改为上传服务的地址,如果公共服务不采取客户内网部署的话,默认应该是https://uploadfilenew.in-road.com/FileUploadHandle.ashx
把consttitle
字段的值为”工智道基础”的,都改为”客户名称”
appsettings.json
1 | { |
appsettings.json
1 | { |
SubsidiaryInfo.json
1 | { |
appsettings.json
1 | { |
appsettings.json
1 | { |
nginx.conf
1 | user root; |
有点麻烦,涉及到数据库,最后再说
appsettings.json
1 | { |