diff --git a/deploy.sh b/deploy.sh index 25060ef..fa3cbd0 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,10 +1,12 @@ #!/bin/bash +set -e # 出错立即终止整个脚本 + # 设置变量 CONTAINER_NAME="license" IMAGE_NAME="license-server" IMAGE_TAG="1.0.0" -GIT_REPO_DIR="/home/ceshi/work/license-server" # 替换成你的代码路径 +GIT_REPO_DIR="/home/ceshi/work/license-server" # ⚠️ 请修改为你的实际路径 PORT=13579 FULL_IMAGE_NAME="${IMAGE_NAME}:${IMAGE_TAG}" @@ -13,18 +15,17 @@ echo "===> Step 1: 停止并删除老的容器..." docker stop $CONTAINER_NAME 2>/dev/null || true docker rm $CONTAINER_NAME 2>/dev/null || true -echo "===> Step 2: 删除旧镜像..." +echo "===> Step 2: 删除旧镜像(如有)..." docker rmi $FULL_IMAGE_NAME 2>/dev/null || true echo "===> Step 3: 拉取最新代码..." -cd "$GIT_REPO_DIR" || exit 1 -git pull +cd "$GIT_REPO_DIR" || { echo "❌ 找不到目录 $GIT_REPO_DIR"; exit 1; } +git pull || { echo "❌ git pull 失败"; exit 1; } echo "===> Step 4: 构建新镜像 $FULL_IMAGE_NAME..." -docker build -t $FULL_IMAGE_NAME . +docker build -t $FULL_IMAGE_NAME . || { echo "❌ Docker build 失败"; exit 1; } echo "===> Step 5: 启动新容器..." -docker run -d --name $CONTAINER_NAME -p $PORT:$PORT $FULL_IMAGE_NAME +docker run -d --name $CONTAINER_NAME -p $PORT:$PORT $FULL_IMAGE_NAME || { echo "❌ Docker 启动失败"; exit 1; } echo "✅ 部署完成,服务运行在端口 $PORT,镜像版本为 $FULL_IMAGE_NAME" - diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..d65ba3c --- /dev/null +++ b/go.mod @@ -0,0 +1,8 @@ +module license-server + +go 1.22 + +require ( + github.com/gofiber/fiber/v2 v2.50.1 + github.com/mattn/go-sqlite3 v1.14.22 +)