为了方便启动和关闭环境,写了下面的脚本。需要的可以根据自己环境配置进行修改,适用于macOS。
- 本来是使用vagrant配置虚拟机,但是总是出现莫名其妙的问题还恢复不了,干脆改用VMWare了。VMWare是有命令行启动方式的,这样就可以在后台启动不用占个窗口了。
- 启动可以使用
sh env.sh up
,会启动nacos注册中心,后台管理前端和虚拟机。 - 关闭可以使用
sh env.sh down
,会挂起虚拟机,关闭nacos。
#!/bin/bash
if [ $1 == 'up' ]; then
up_steps=3
echo 'gulimall environment start up...'
echo '[1/'$up_steps'] Starting up vm...'
current=$(pwd)
# cd ~/vagrantfiles/gulimall\ centos || exit
# vagrant up
vmrun start /Users/dujianzhang/Virtual\ Machines.localized/centos7_gulimall220921.vmwarevm nogui
cd "$current" || exit
echo '[1/'$up_steps'] Done!'
echo ''
echo '[2/'$up_steps'] Starting up nacos...'
~/nacos/bin/startup.sh -m standalone
echo '[2/'$up_steps'] Done!'
echo ''
echo '[3/'$up_steps'] Starting up frontend service...'
# 使用单独的终端窗口来开启后台管理前端服务
osascript -e 'tell application "Terminal" to do script "cd '$current'/gulimall-admin-vue-app;npm run dev"'
echo '[3/'$up_steps'] Done!'
echo 'All done!'
echo 'Please start up backend service manually!'
elif [ $1 == 'down' ]; then
down_steps=2
echo 'Gulimall environment shut down...'
echo '[1/'$down_steps'] Suspending vm...'
current=$(pwd)
# cd ~ || exit
# vagrant suspend
vmrun suspend /Users/dujianzhang/Virtual\ Machines.localized/centos7_gulimall220921.vmwarevm
cd "$current" || exit
echo '[1/'$down_steps'] Done!'
echo ''
echo '[2/'$down_steps'] Shutting down nacos...'
~/nacos/bin/shutdown.sh
echo '[2/'$down_steps'] Done!'
echo 'All done!'
echo 'Please shut down frontend and backend service manually!'
else
echo 'Wrong parameter!'
fi