提交最新的 gateway 自动化脚本

This commit is contained in:
eson 2023-11-06 12:16:06 +08:00
parent b4a0af62e1
commit 0df6af242a
4 changed files with 50 additions and 3 deletions

4
.gitignore vendored
View File

@ -25,4 +25,6 @@ gen
__debug_*
runtime.*
runtime.*
screenlog.*

2
proto

@ -1 +1 @@
Subproject commit 74c61920512e7e694435c72435c3abf9a874ad5a
Subproject commit 54b1fc00c81f4d0e78d84dc303185ff8dee677e4

View File

@ -1,2 +1,45 @@
#! /bin/bash
go run -gcflags="-N" proto/goutils/proto_build/main.go gateway
# 获取当前脚本的全局路径
script_path=$(realpath "$0")
# 获取当前脚本的目录
script_dir=$(dirname "$script_path")
echo "123 $script_dir"
cd $script_dir/proto
git pull origin master
cd $script_dir
go run -gcflags="-N" proto/goutils/proto_build/main.go gateway
run_server() {
server_name="server"
gateway_name="grpc-gateway"
# 导航到相应的目录
cd $script_dir/server
echo "build $gateway_name"
go build
# 如果之前存在相同名字的 screen 会话,先将其终止
# 首先尝试关闭已存在的screen会话
existing_session=$(screen -ls | grep -w "$gateway_name")
if [ -n "$existing_session" ]; then
echo "Terminating existing screen session for $gateway_name"
screen -S "$gateway_name" -X quit
while [[ $(screen -ls | grep "\.$gateway_name\s") ]]; do
sleep 0.1s # 等待0.1秒后再次检查
echo "wait for $gateway_name"
done
fi
# 循环检查screen进程是否存在
[ -f .gitignore ] || (echo "server" > .gitignore && echo "main" >> .gitignore)
# 使用 screen 运行 go run <server_name>.go
echo "Running $gateway_name"
screen -dmS $gateway_name -L ./$server_name
}
run_server

2
server/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
server
main