Commit 570beaf02d2e57850dc914a92f6da8861f059ac8

Authored by zhongnnahuang
1 parent 443f5c34

feat: update

Showing 1 changed file with 52 additions and 15 deletions
deploy/prod2.sh
  1 +#!/bin/bash
1 2 # 变量定义
2   -$LAST_TAG = "1.0.6"
3   -$TARGER_PATH="/web/canrud-outside-nuxt-front"
4   -$IMAGE_NAME = "canrud-outside-front"
5   -$TAG = "1.0.7"
6   -$TAR_FILE = "${TARGER_PATH}/${IMAGE_NAME}_${TAG}.tar"
  3 +LAST_TAG="1.0.8"
  4 +TAG="1.0.9"
  5 +TARGET_PATH="/root/web/canrud-outside-nuxt-front"
  6 +DOCKERFILE_PATH="/root/web/canrud-outside-nuxt-front/canrud-nuxt-front"
  7 +IMAGE_NAME="canrud-outside-front"
  8 +TAR_FILE="${TARGET_PATH}/${IMAGE_NAME}_${TAG}.tar"
  9 +DOCKER_COMPOSE_FILE="${TARGET_PATH}/docker-compose.yml"
7 10  
  11 +# 定义错误处理函数
  12 +handle_error() {
  13 + echo "Error occurred at step: $1. Exiting."
  14 + exit 1
  15 +}
  16 +
  17 +# 步骤-1:修改 docker-compose.yml 文件
  18 +echo "Updating docker-compose.yml file..."
  19 +cat > "$DOCKER_COMPOSE_FILE" <<EOL
  20 +version: '3.8'
  21 +services:
  22 + canrud-outside-front:
  23 + image: ${IMAGE_NAME}:${TAG} # 使用指定的镜像和标签
  24 + container_name: canrud-outside-front
  25 + ports:
  26 + - "3000:3000" # 映射端口
  27 + environment:
  28 + - BASE_URL=http://47.89.254.121:8002/shop
  29 + restart: unless-stopped # 如果容器退出,自动重启容器,除非是用户手动停止
  30 +EOL
  31 +
  32 +# 检查文件是否已更新
  33 +if [ $? -ne 0 ]; then
  34 + handle_error "Update docker-compose.yml"
  35 +fi
  36 +
  37 +# 步骤0:拉取代码
  38 +echo "Pulling latest code..."
  39 +cd "${DOCKERFILE_PATH}" || handle_error "Change directory to ${DOCKERFILE_PATH}"
  40 +git pull || handle_error "Git pull"
8 41  
9 42 # 步骤1: 构建 Docker 镜像
10   -Write-Output "Building Docker image..."
11   -docker build -t ${IMAGE_NAME}:${TAG} .
  43 +echo "Building Docker image..."
  44 +docker build -t ${IMAGE_NAME}:${TAG} . || handle_error "Docker build"
12 45  
13 46 # 步骤2: 将 Docker 镜像导出为 tar 文件
14   -Write-Output "Saving Docker image to tar file..."
15   -docker save -o ${TAR_FILE} ${IMAGE_NAME}:${TAG}
  47 +echo "Saving Docker image to tar file..."
  48 +docker save -o ${TAR_FILE} ${IMAGE_NAME}:${TAG} || handle_error "Docker save"
16 49  
17 50 # 步骤3:加载镜像
18   -docker load -i "$TAR_FILE"
  51 +echo "Loading Docker image from tar file..."
  52 +docker load -i "$TAR_FILE" || handle_error "Docker load"
19 53  
20 54 # 步骤4:删除当前运行的容器
21   -docker stop "canrud-outside-front:${LAST_TAG}"
22   -docker rm "canrud-outside-front:${LAST_TAG}"
  55 +echo "Stopping and removing the current container..."
  56 +docker stop canrud-outside-front || handle_error "Docker stop"
  57 +docker rm canrud-outside-front || handle_error "Docker rm"
23 58  
24 59 # 步骤5:运行当前镜像
25   -cd "${TARGER_PATH}"
26   -docker-compose up -d
  60 +echo "Starting container with the new image..."
  61 +cd "${TARGET_PATH}" || handle_error "Change directory to ${TARGET_PATH}"
  62 +docker-compose up -d || handle_error "Docker-compose up"
  63 +
  64 +echo "All tasks completed successfully!"
27 65  
28   -Write-Output "All tasks completed!"
29 66 \ No newline at end of file
... ...