31 lines
1007 B
Bash
31 lines
1007 B
Bash
#!/bin/bash
|
||
|
||
set -e
|
||
|
||
CONTAINER_NAME="license"
|
||
IMAGE_NAME="license-server"
|
||
IMAGE_TAG="1.0.0"
|
||
GIT_REPO_DIR="/home/ceshi/work/license-server"
|
||
PORT=13579
|
||
|
||
FULL_IMAGE_NAME="${IMAGE_NAME}:${IMAGE_TAG}"
|
||
|
||
echo "===> Step 1: 停止并删除老的容器..."
|
||
docker stop $CONTAINER_NAME 2>/dev/null || true
|
||
docker rm $CONTAINER_NAME 2>/dev/null || true
|
||
|
||
echo "===> Step 2: 删除旧镜像(如有)..."
|
||
docker rmi $FULL_IMAGE_NAME 2>/dev/null || true
|
||
|
||
echo "===> Step 3: 拉取最新代码..."
|
||
cd "$GIT_REPO_DIR" || { echo "❌ 找不到目录 $GIT_REPO_DIR"; exit 1; }
|
||
git pull || { echo "❌ git pull 失败"; exit 1; }
|
||
|
||
echo "===> Step 4: 构建镜像(不依赖 go.sum)..."
|
||
docker build -t $FULL_IMAGE_NAME . || { echo "❌ Docker build 失败"; exit 1; }
|
||
|
||
echo "===> Step 5: 启动容器..."
|
||
docker run -d --name $CONTAINER_NAME -p 127.0.0.1:$PORT:$PORT $FULL_IMAGE_NAME || { echo "❌ Docker 启动失败"; exit 1; }
|
||
|
||
echo "✅ 部署完成,服务运行在端口 $PORT,镜像版本为 $FULL_IMAGE_NAME"
|