基礎設施
- 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;