gpt4-copilot-java-native-0.0.5

This commit is contained in:
Yanyutin753
2024-02-17 16:37:46 +08:00
parent 871bfd61d3
commit f485e534ce
6 changed files with 24 additions and 242 deletions

View File

@@ -1,159 +0,0 @@
#!/bin/bash
# 函数:确认删除目录
confirm_delete() {
echo "目标目录已存在,是否删除并拉取最新代码?(y/n)"
read confirm
if [ "$confirm" = "y" ]; then # 修改了这一行
# 检查是否有足够的权限
if [ ! -w /gpt4-copilot-java ]; then
echo "没有足够的权限删除目录,请检查权限设置。"
exit 1
fi
# 删除目录的操作
cd / && rm -rf /gpt4-copilot-java
# 重新创建目录
mkdir /gpt4-copilot-java
else
echo "取消操作,退出脚本。"
exit 1
fi
}
echo "检查是否已经安装 bash"
if ! command -v bash &> /dev/null; then
# 安装 bash
if command -v apt &> /dev/null; then
sudo apt update
sudo apt-get install bash
elif command -v yum &> /dev/null; then
sudo yum update
sudo yum install bash
else
echo "不支持的包管理器,无法安装 bash。"
exit 1
fi
echo "安装 bash 成功!"
else
echo "bash 已经安装,跳过安装步骤。"
fi
echo "检查是否已经安装 docker"
if ! command -v docker &> /dev/null; then
# 安装 Docker
if command -v apt &> /dev/null; then
sudo apt update
sudo apt-get install docker-ce
elif command -v yum &> /dev/null; then
sudo yum update
sudo yum install docker-ce
else
echo "不支持的包管理器,无法安装 Docker。"
exit 1
fi
echo "安装 Docker 成功!"
else
echo "Docker 已经安装,跳过安装步骤。"
fi
echo "检查是否已经安装 docker-compose"
if ! command -v docker-compose &> /dev/null; then
# 安装 docker-compose
if command -v apt &> /dev/null; then
sudo apt update
sudo apt install docker-compose
elif command -v yum &> /dev/null; then
sudo yum update
sudo yum install docker-compose
else
echo "不支持的包管理器,无法安装 Docker Compose。"
exit 1
fi
# 检查安装是否成功
if command -v docker-compose &> /dev/null; then
echo "安装 Docker Compose 成功!"
else
echo "安装 Docker Compose 失败,请检查安装过程。"
exit 1
fi
else
echo "Docker Compose 已经安装,跳过安装步骤。"
fi
# 设置目标目录
target_dir="/gpt4-copilot-java"
# 检查目标目录是否已经存在
if [ -d "$target_dir" ]; then
confirm_delete
fi
echo "克隆 github 仓库到目标目录并切换到主分支"
git clone https://github.com/Yanyutin753/easy-gpt4-copilot-java.git /gpt4-copilot-java
echo "克隆成功"
echo "进入 /gpt4-copilot-java 目录"
cd /gpt4-copilot-java
while true; do
# 提示用户输入新的端口号
read -p "请输入gpt4-copilot-java的端口号默认为8081: " new_port
# 如果用户没有输入使用默认端口号8081
new_port=${new_port:-8081}
# 检验端口号是否为一个数字并且是否在1到65535的范围内
if [ "$new_port" -ge 1 ] && [ "$new_port" -le 65535 ] && [ "$new_port" -eq "$new_port" ] 2>/dev/null; then
# 输入合法,退出循环
break
else
echo "错误端口号无效请输入一个有效的端口号1到65535之间。"
fi
done
while true; do
# 提示用户是否需要自定义后缀
read -p "是否需要自定义后缀? (y/n) " need_suffix
if [ "$need_suffix" = "y" ]; then
while true; do
# 提示用户输入新的后缀
random_string=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
echo "请输入新的后缀(例如:/$random_string: "
read new_suffix
# 如果用户没有输入,使用默认后缀 '/'
new_suffix=${new_suffix:-/}
# 检查新的后缀是否以 '/' 开始
case "$new_suffix" in
/*)
# 后缀以 '/' 开始,退出内部循环
break
;;
*)
# 后缀不以 '/' 开始,提示用户重新输入
echo "错误:后缀应以 '/' 开始,请重新输入。\n"
;;
esac
done
# 后缀已经被替换,退出外部循环
break
elif [ "$need_suffix" = "n" ]; then
break
else
printf "错误:无效的输入,请输入 'y' 或 'n'.\n"
fi
done
# 替换docker-compose.yml文件中的后缀和端口号
sed -i -e "s|--server.servlet.context-path=/|--server.servlet.context-path=${new_suffix}|" -e "s|--server.port=[0-9]\+|--server.port=${new_port}|" docker-compose.yml
# 运行 Docker Compose 启动命令
if docker-compose up -d; then
echo "Docker Compose 启动成功,请确保开启 ${new_port} 端口"
echo "gpt4-copilot-java启动网址http://127.0.0.1:${new_port}${new_suffix}"
else
echo "Docker Compose 启动失败请确保正确安装docker和docker compose"
fi