基础设施
- Ubuntu系统
- Docker服务
前端环境
目前商户后台采用的vue技术栈,部署步骤如下:
1. 安装nodejs
Ubuntu自带nodejs版本太老,目前来看基本上用不了,可以通过以下几种方式安装。
- 官方下载
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
- 源码安装
下载nodejs源码文件,官网地址:https://nodejs.org/en/download/
或者在内部FTP服务器的“/tools/开发工具/”目录下面有。
然后在Shell终端执行以下命令:
tar zxvf node-v8.11.1.tar.gz
./configure
sudo make
sudo make install
- 通过开源工具“n”来安装
在Shell终端执行以下命令:
export N_PREFIX=/opt/n
export PATH=${PATH}:${N_PREFIX}/bin
curl -L https://git.io/n-install | bash -s – -y latest && n lts && n latest
2.安装yarn
yarn是一个nodejs的包管理工具,可以通过以下命令安装
npm install yarn -g
3.clone前端代码到本地
地址:ssh://rdp.beyondsoft.com:22/beyondsoft/Fnb/_git/Fnb-FE.git,与develop分支保持一致即可。
cd 你的工作目录
git clone ssh://rdp.beyondsoft.com:22/beyondsoft/Fnb/_git/Fnb-FE.git
4.安装依赖
代码路径下执行命令yarn
cd FnB-FE代码目录
yarn
5.修改配置
修改FnB-FE目录下/config/dev.env.js文件中的API_ROOT参数的IP地址,指向本地后端API服务的地址
e.g. API_ROOT: ‘"//10.26.1.21:9099/"’
6.启动前端系统,在浏览器打开即可。
在Shell终端执行以下命令:
HOST=10.26.1.21 PORT=8080 yarn dev
注意:
- 修改10.26.1.21为你本机IP地址,这样其他机器也可以访问你的前端服务
- 如果前端启动正常,并打印出以下信息,则表示一切正常:Your application is running here: http://10.26.1.21:8080
- 如果有其他异常,通常情况可能是前端增加了其他依赖库,需要更新。此时需要重新执行yarn命令,然后再启动
yarn
HOST=10.26.1.21 PORT=8080 yarn dev
后端环境
1. 本地安装数据库
在内部FTP服务器的“/tools/Docker/ctl-docker-mysql”目录下面有相应的启动脚本和配置文件,无须修改,拷贝到本地。
在Shell终端执行以下命令即可。
chmod a+x ctl_com_mysql.sh
./ctl_com_mysql.sh
注意:后续如果使用Redis服务,可以在FTP的“ctl-docker-redis”目录下面找到启动脚本和配置文件,操作同上即可。
注意,如果之前没有安装docker的话,请参考Development文档里面所有涉及DOCKER字样的内容。
正常确定没有其他问题的话,你本地就有MySQL可用了,修改FnB后端配置文件,替换数据库配置的IP为localhost即可。
url: jdbc:mysql://${DB_HOST:localhost} xxxxx
目前后端都已经通过flyway进行数据库升级管理,无须手动再做任何初始化的操作,只要后端服务可以正常启动,所有基础数据就会自动创建好。
删库后重新执行Flyway
备份原表数据(flyway_version表除外)
利用工具备份原库的数据,flyway的系统表不用备份
删除fnb_sell
删除原来的库
新建fnb_sell库
手动创建fnb_sell库
启动程序,执行flyway
执行flyway,会建表并添加初始数据
删除初始数据(新库不用这一步)
因为我们要导入备份的数据,所以要先删除flyway导入的初始数据。如果是一个新环境,不用这一步。
use fnb_sell;
SET FOREIGN_KEY_CHECKS = 0;
delete from b_description_category;
delete from b_description_category_detail;
delete from b_discount;
delete from b_discount_product;
delete from b_employee;
delete from b_employee_role;
delete from b_invite_code;
delete from b_invoice;
delete from b_order;
delete from b_order_op_record;
delete from b_order_product_detail;
delete from b_order_product_subtract;
delete from b_package;
delete from b_package_category;
delete from b_package_group;
delete from b_package_group_product;
delete from b_package_product_detail;
delete from b_payment_product;
delete from b_payment_setting;
delete from b_printer;
delete from b_printer_area_map;
delete from b_printer_bill;
delete from b_printer_brand;
delete from b_printer_product_map;
delete from b_printer_ticket_map;
delete from b_privilege;
delete from b_product;
delete from b_product_flavor;
delete from b_product_flavor_tag;
delete from b_product_printer;
delete from b_product_spec;
delete from b_product_tag_map;
delete from b_region;
delete from b_role;
delete from b_role_bprivilege_map;
delete from b_role_exclude_privilege_map;
delete from b_shop;
delete from b_shop_area;
delete from b_shop_config;
delete from b_store;
delete from b_store_vip;
delete from b_table;
delete from b_trade;
delete from b_up_record;
delete from b_up_record_pay_setting;
delete from p_app_info;
delete from p_apps;
delete from p_payment_channel;
delete from p_platform;
delete from p_ticket_category;
delete from p_user;
delete from p_user_question;
delete from p_user_question_detail;
delete from p_user_role;