# Installer操作說明 ###### tags: `AIOTD` 1. 確認有沒有下列2個資料夾 * NSIS_Installer ![NSIS_Installer](https://i.imgur.com/cBIvSez.jpg) * NSISPortableUnicode ![](https://i.imgur.com/wC3oIWM.jpg) 2. 調整程式碼 * BackEnd及servo部分: * application.properties ```java= //資料庫帳密都為 root spring.datasource.one.password=root spring.datasource.two.password=root //mq的url調整為以下 spring.activemq.broker-url=tcp://localhost:8089 spring.activemq.host-url=tcp://localhost:9277 ``` * 單獨BackEnd部分: * application.properties ```java= //切換LMS網址 //GSS LMS 測試機 lms.url=http://192.168.106.34/LMSAPI/Api/lms/ // Anser LMS lms.url=http://lms.anser-coding.com/LMSAPI/Api/lms/ * FontEnd部分:(此部分是要部署到金泰測試機才做) * public\env-config.js ```java= //將 localhost 都改為金泰測試機的IP:192.168.10.106 //但若是金泰工程師要安裝在他的本機測試的話,就還是保持 localhost 的設定。 REACT_APP_BACKEND_URL: 'http://localhost:8080/ANSER/Api/' REACT_APP_DEVICE_SOCKET: 'ws://localhost:8080/ANSER/client1' REACT_APP_FW_SOCKET: 'ws://localhost:8080/ANSER/fw' REACT_APP_MONITOR_SOCKET: 'ws://localhost:8080/ANSER/monitorWarn/1' REACT_APP_EXTDEVICE_SOCKET: 'ws://localhost:8080/ANSER/extDevice', ``` * page\X1M080\X1M10\MessageEditor.tsx ```java= //將 localhost 改為金泰測試機的IP:192.168.10.106 //但若是金泰工程師要安裝在他的本機測試的話,就還是保持 localhost 的設定。 <iframe src="http://localhost:8080/messageEditor/MessageEditor.html" style={{.... ``` 3. 調整系統版本資訊 * 修改\NSIS_Installer\files\backup\recipe.sql中的x1mdb_recipe.x1m_information_m資料表insert into的內容。 * product_version(版本資訊):每次更版,第三位數字加一。 * system_ip(主系統IP):填入金泰測試機IP(192.168.10.106)。 * database_server(資料庫Server的IP):http://localhost:3306 * server_ip(servo層的IP):填入金泰測試機IP(192.168.10.106)。 * product_path(安裝路徑):C:\Program Files\XCommander。 * database_name(資料庫名稱):x1mdb_recipe、x1mdb_monitor。 * installation_date(安裝日期):填入更版當天日期。 4. 程式碼打包指令 ```shell= # FontEnd npm run-script build # BackEnd 及 servo gradle build -x test ``` 5. 將打包完的資料複製到NSIS_Installer中的指定資料夾 * FontEnd: ``` java= //打包完的資料在這個資料夾內 \anser\FontEnd\build //將上面打包完的內容放進這裡面 \NSIS_Installer\apache-tomcat-8.5.69\webapps\ROOT ``` * BackEnd: ```java= //包好的war檔 ‪\anser\BackEnd\build\libs\ANSER-0.0.1-SNAPSHOT.war //將包好的war檔放進這裡並改名為"ANSER.war",刪除原有的ANSER資料夾後, //將ANSER.war解壓縮至 "ANSER\",解壓縮後ANSER.war可刪除。 \NSIS_Installer\apache-tomcat-8.5.69\webapps ``` * servo: ```java= \anser\servo\build\libs\servo.jar //包好的jar檔 \NSIS_Installer\servo //替換掉裡面的servo.jar ``` * mysql:資料庫(如有異動再改) ```java= \NSIS_Installer\mysql-8.0.25-winx64\init //替換掉內部的sql \NSIS_Installer\files\backup //替換掉內部的sql ``` * message editor ```java= //將專案中的 MessageEditor 複製過來(若 node_modules 沒異動就不用複製過來)。 //MessageEditor 資料夾內必須有 node_moudles 資料夾(如下圖一) //若無此資料夾,請執行 npm install 來產生。 \NSIS_Installer\apache-tomcat-8.5.69\webapps\messageEditor //將 MessageEditor 及其額外需要的檔案直接覆蓋到這裡(如下圖二) \NSIS_Installer\files\messageFile ``` ![](https://i.imgur.com/lBUg28z.jpg) ![](https://i.imgur.com/44HHmcD.jpg) 6. 確認檔案更新完成後即開始包Installer ![](https://i.imgur.com/FbOnFmc.jpg) ![](https://i.imgur.com/bc1bVcR.jpg) ![](https://i.imgur.com/u9vxnS9.jpg) > 選擇 \NSIS_Installer\Installer.nsi即可 7. ==**安裝新版本之前,請先移除舊版本再進行新版本的安裝。**== 8. 安裝完畢後,請到 http://localhost:8161/admin (帳號/密碼皆為 admin/admin)的Topics功能,確認 ShepherdXXXXXXX 與 WatchDogXXXXXXX 開頭的訂閱是否都為"1",必須都為 "1" 才是正常狀態,見下圖一及圖二。 * 若有任何 ShepherdXXXXXXX 開頭的項目不為 "1",請重啟後端(即重啟Tomcat)。 * 若有任何 WatchDogXXXXXXX 開頭的項目不為 "1",請重啟Windows。(因為 Servo.jar 無法單獨重啟) 圖一: ![](https://i.imgur.com/nnxLXs0.jpg) 圖二: ![](https://i.imgur.com/mh2MSk2.jpg)