diff --git a/.drone.yml b/.drone.yml index 8c5b8183..a3bdec6e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,7 @@ # 生产 Docker 交付包:仅 tag 触发 -# 产物:/root/zkxw-releases/zkxw-docker-deploy-.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 diff --git a/测试环境部署/README.md b/测试环境部署/README.md index 051f7346..f7cfdb04 100644 --- a/测试环境部署/README.md +++ b/测试环境部署/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 `) | -| 产物 | `/root/zkxw-releases/zkxw-docker-deploy-.tar.gz` | +| 流水线 | 仓库根 `.drone.yml`(`git push origin ` 触发) | +| 产物 | `/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz`(镜像标签固定 `v1.1.0`) | 服务器:`/root/drone/`(含 `DRONE_RPC_SECRET`)、`/root/zkxw-releases/`。 diff --git a/测试环境部署/drone/README.md b/测试环境部署/drone/README.md index 0ca52441..920cdd9d 100644 --- a/测试环境部署/drone/README.md +++ b/测试环境部署/drone/README.md @@ -7,10 +7,12 @@ ## 行为 -- **仅 `tag` 触发**(普通 push 不打包) -- 执行 `./scripts/package-docker-deploy.sh ` - → `zkxw-backend:` + `zkxw-web:` → `docker save` → 交付包 -- 拷贝到:`/root/zkxw-releases/zkxw-docker-deploy-.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`。