deploy.sh 878 B

1234567891011121314151617181920212223242526272829
  1. #!/bin/bash
  2. # 获取脚本所在目录
  3. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
  4. # 设置项目目录为脚本所在目录的子目录
  5. PROJECT_DIR="$SCRIPT_DIR"
  6. # 分支名称(需要监听的分支,例如 main)
  7. BRANCH="master"
  8. # 切换到项目目录
  9. cd $PROJECT_DIR || { echo "Directory $PROJECT_DIR not found!"; exit 1; }
  10. # 拉取最新代码
  11. echo "Pulling latest changes from branch $BRANCH..."
  12. git fetch origin $BRANCH
  13. git reset --hard origin/$BRANCH || { echo "Failed to reset branch $BRANCH"; exit 1; }
  14. # 构建 Docker 镜像
  15. echo "Building Docker image..."
  16. docker compose build || { echo "Docker build failed!"; exit 1; }
  17. # 停止旧容器并启动新容器
  18. echo "Restarting service..."
  19. docker compose down || { echo "Docker compose down failed!"; exit 1; }
  20. docker compose up -d || { echo "Docker compose up failed!"; exit 1; }
  21. echo "Deployment complete!"