Jelajahi Sumber

fix: Drone 生产包镜像与文件名固定为 v1.1.0,便于现网部署

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 1 Minggu lalu
induk
melakukan
6a9a8bddd6
3 mengubah file dengan 23 tambahan dan 21 penghapusan
  1. 10 10
      .drone.yml
  2. 2 2
      测试环境部署/README.md
  3. 11 9
      测试环境部署/drone/README.md

+ 10 - 10
.drone.yml

@@ -1,6 +1,7 @@
 # 生产 Docker 交付包:仅 tag 触发
-# 产物:/root/zkxw-releases/zkxw-docker-deploy-<tag>.tar.gz
-# 脚本:./scripts/package-docker-deploy.sh(docker build + save + 组包)
+# 镜像与包名固定为 v1.1.0(与现网 .env / 部署习惯一致),便于生产升级时不必改镜像标签
+# 产物:/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz
+# 脚本:./scripts/package-docker-deploy.sh
 
 kind: pipeline
 type: docker
@@ -39,13 +40,12 @@ steps:
       NPM_REGISTRY: https://registry.npmmirror.com
       PIP_INDEX_URL: https://mirrors.aliyun.com/pypi/simple/
       PIP_TRUSTED_HOST: mirrors.aliyun.com
-      # 若宿主机存在该文件,可在打包前复制为 deploy/docker/.env 以注入微信/RSA
-      # 见 测试环境部署/drone/README.md
+      # 固定交付版本(勿改为 DRONE_TAG,生产 .env 使用 v1.1.0)
+      ZKXW_DEPLOY_VERSION: v1.1.0
     commands:
       - set -eu
       - apk add --no-cache bash git python3
-      - test -n "${DRONE_TAG}"
-      - echo "==> packaging production docker bundle for tag=${DRONE_TAG}"
+      - echo "==> git tag=${DRONE_TAG:-none} deploy_version=${ZKXW_DEPLOY_VERSION} commit=${DRONE_COMMIT}"
       - chmod +x scripts/package-docker-deploy.sh scripts/build-docker-images.sh
       - |
         if [ -f /releases/.deploy-docker.env ]; then
@@ -53,8 +53,8 @@ steps:
           cp /releases/.deploy-docker.env deploy/docker/.env
           echo "using /releases/.deploy-docker.env for secret inject"
         fi
-      - ./scripts/package-docker-deploy.sh "${DRONE_TAG}"
+      - ./scripts/package-docker-deploy.sh "${ZKXW_DEPLOY_VERSION}"
       - mkdir -p /releases
-      - cp -v dist/zkxw-docker-deploy-"${DRONE_TAG}".tar.gz /releases/
-      - ls -lh /releases/zkxw-docker-deploy-"${DRONE_TAG}".tar.gz
-      - sha256sum /releases/zkxw-docker-deploy-"${DRONE_TAG}".tar.gz
+      - cp -v dist/zkxw-docker-deploy-"${ZKXW_DEPLOY_VERSION}".tar.gz /releases/
+      - ls -lh /releases/zkxw-docker-deploy-"${ZKXW_DEPLOY_VERSION}".tar.gz
+      - sha256sum /releases/zkxw-docker-deploy-"${ZKXW_DEPLOY_VERSION}".tar.gz

+ 2 - 2
测试环境部署/README.md

@@ -295,8 +295,8 @@ python3.12 -m venv .venv
 |------|------|
 | Gogs | `http://101.35.245.122:3000` |
 | Drone UI | `http://101.35.245.122:18088` |
-| 流水线 | 仓库根 `.drone.yml`(`git push origin <tag>`) |
-| 产物 | `/root/zkxw-releases/zkxw-docker-deploy-<tag>.tar.gz` |
+| 流水线 | 仓库根 `.drone.yml`(`git push origin <tag>` 触发) |
+| 产物 | `/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz`(镜像标签固定 `v1.1.0`) |
 
 服务器:`/root/drone/`(含 `DRONE_RPC_SECRET`)、`/root/zkxw-releases/`。
 

+ 11 - 9
测试环境部署/drone/README.md

@@ -7,10 +7,12 @@
 
 ## 行为
 
-- **仅 `tag` 触发**(普通 push 不打包)
-- 执行 `./scripts/package-docker-deploy.sh <tag>`  
-  → `zkxw-backend:<tag>` + `zkxw-web:<tag>` → `docker save` → 交付包
-- 拷贝到:`/root/zkxw-releases/zkxw-docker-deploy-<tag>.tar.gz`
+- **仅 `tag` 触发**(普通 push 不打包;任意 tag 均可触发)
+- 交付版本**固定**为 `v1.1.0`(与现网 `.env` 镜像标签一致,升级不必改 `ZKXW_*_IMAGE`)
+- 执行 `./scripts/package-docker-deploy.sh v1.1.0`  
+  → `zkxw-backend:v1.1.0` + `zkxw-web:v1.1.0` → 交付包
+- 拷贝到(同名覆盖):`/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz`  
+  (`VERSION.txt` 内仍有 `git_commit`,可区分是哪次提交打的包)
 
 可选:将发版用 `deploy/docker/.env`(含微信/RSA 等注入项)放到:
 
@@ -43,12 +45,12 @@ docker tag docker.m.daocloud.io/library/docker:27-cli docker:27-cli
 ## 3. 发版用法
 
 ```bash
-# 本地打 tag 并推到 Gogs
-git tag v1.2.0
-git push origin v1.2.0
+# 本地打任意 tag 并推到 Gogs(仅作触发;包内版本仍是 v1.1.0)
+git tag v1.1.0-20261024   # 或 v1.1.0、release-xxx 等
+git push origin v1.1.0-20261024
 
-# 构建完成后在测试机取包
-ls -lh /root/zkxw-releases/zkxw-docker-deploy-v1.2.0.tar.gz
+# 构建完成后在测试机取包(文件名固定)
+ls -lh /root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz
 ```
 
 Drone UI 可看构建日志;包内结构见 `deploy/docker/README.md`。