關於本地測試需要啟動多個api的痛點解決
阿新 • • 發佈:2018-12-25
痛點來源
本人蔘與的專案採用按業務分離的模式架構開發,每次測試時都需要在Visual Studio Code 中開多個powershell視窗啟動多個服務,所以感覺比較痛苦,因為在windows上開發, 然後就想到了bat。
實現細節
bat 啟動檔案
#cmd-api-start.bat @echo off set node=%NODE_HOME%\\node.exe :從services.txt讀取沒有'#'註釋的服務列表並啟動 for /f "eol=/delims=" %%b in ('findstr /i /v "^#" services.txt') do ( start "%%b Service" %node% %%b )
services.txt如下
#services.txt C:/Users/gs82167/git/gui_simweb/simpliciti.js C:/Users/gs82167/git/simweb-common-router/app/api.js C:/Users/gs82167/git/container_simweb/api/app/simweb.js C://Users/gs82167/git/api_counterparty/v1/app/api.js C:/Users/gs82167/git/api_agreement/v2/app/api.js #C:/Users/gs82167/git/api_discounting/v2/app/api.js #C:/Users/gs82167/git/api_makerchecker/v1/app/api.js
體驗升級
因cmd 視窗太小,日誌不方便檢視,於是採用git-bash.exe 除錯。
#bash-api-start.bat @echo off set gitbash=%BASH_HOME%\git-bash.exe set mintty=%BASH_HOME%\usr\bin\mintty.exe for /f "eol=/delims=" %%b in ('findstr /i /v "^#" services.txt') do ( start /min "" "%mintty%" --icon "%gitbash%",0 --exec "/usr/bin/bash" --login -i -c "node %%b" )
既然有啟動程式,當然也有關閉程式
#kill-node.bat
taskkill /F /IM node.exe
總結
微服務火熱的當下,本地測試時需要啟動的服務更多,例如spring cloud 相關專案的一鍵啟動也可以參照以上指令碼。