feat: 添加 update-and-run.sh 脚本
This commit is contained in:
parent
383beb3e27
commit
03c1b6a487
57
update-and-run.sh
Executable file
57
update-and-run.sh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# FA3-Datafetch 自动更新脚本
|
||||||
|
# 用于在远程服务器上拉取最新代码并重新部署 Docker 容器
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# 颜色定义
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
|
||||||
|
echo -e "${GREEN}========================================${NC}"
|
||||||
|
echo -e "${GREEN} FA3-Datafetch 自动更新脚本${NC}"
|
||||||
|
echo -e "${GREEN}========================================${NC}"
|
||||||
|
|
||||||
|
# 切换到脚本所在目录
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
# 1. 拉取最新代码
|
||||||
|
echo -e "\n${YELLOW}[1/4] 拉取最新代码...${NC}"
|
||||||
|
git fetch origin
|
||||||
|
git pull origin main
|
||||||
|
echo -e "${GREEN}✓ 代码更新完成${NC}"
|
||||||
|
|
||||||
|
# 2. 停止旧容器(如果存在)
|
||||||
|
CONTAINER_NAME="fa3-app"
|
||||||
|
echo -e "\n${YELLOW}[2/4] 停止旧容器...${NC}"
|
||||||
|
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
|
||||||
|
docker stop $CONTAINER_NAME 2>/dev/null || true
|
||||||
|
docker rm $CONTAINER_NAME 2>/dev/null || true
|
||||||
|
echo -e "${GREEN}✓ 旧容器已停止并删除${NC}"
|
||||||
|
else
|
||||||
|
echo -e "${GREEN}✓ 没有运行中的旧容器${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. 重新构建 Docker 镜像
|
||||||
|
echo -e "\n${YELLOW}[3/4] 重新构建 Docker 镜像...${NC}"
|
||||||
|
echo -e " 这可能需要几分钟时间..."
|
||||||
|
docker build -t fa3-datafetch .
|
||||||
|
echo -e "${GREEN}✓ Docker 镜像构建完成${NC}"
|
||||||
|
|
||||||
|
# 4. 启动新容器
|
||||||
|
echo -e "\n${YELLOW}[4/4] 启动新容器...${NC}"
|
||||||
|
./docker-run.sh
|
||||||
|
echo -e "${GREEN}✓ 新容器已启动${NC}"
|
||||||
|
|
||||||
|
# 清理未使用的镜像(可选)
|
||||||
|
echo -e "\n${YELLOW}清理旧镜像...${NC}"
|
||||||
|
docker image prune -f
|
||||||
|
echo -e "${GREEN}✓ 清理完成${NC}"
|
||||||
|
|
||||||
|
echo -e "\n${GREEN}========================================${NC}"
|
||||||
|
echo -e "${GREEN} 更新完成!${NC}"
|
||||||
|
echo -e "${GREEN}========================================${NC}"
|
||||||
|
echo -e "查看日志: docker logs -f $CONTAINER_NAME"
|
||||||
|
echo -e "进入容器: docker exec -it $CONTAINER_NAME sh"
|
||||||
Loading…
Reference in New Issue
Block a user