.drone.yml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # 生产 Docker 交付包:仅 tag 触发
  2. # 镜像与包名固定为 v1.1.0(与现网 .env / 部署习惯一致),便于生产升级时不必改镜像标签
  3. # 产物:/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz
  4. # 脚本:./scripts/package-docker-deploy.sh
  5. #
  6. # docker.sock 与 /releases 由 runner 环境变量 DRONE_RUNNER_VOLUMES 注入,
  7. # 勿在本文件再声明同路径 host volume,否则会 Duplicate mount point。
  8. #
  9. # 注意:Drone 会对 commands 里的 ${VAR} 做预处理替换;自定义环境变量请用 $${VAR}
  10. # 或直接写死版本号,避免变成空字符串。
  11. kind: pipeline
  12. type: docker
  13. name: package-prod
  14. concurrency:
  15. limit: 1
  16. trigger:
  17. event:
  18. - tag
  19. clone:
  20. depth: 1
  21. steps:
  22. - name: package-docker
  23. image: docker:27-cli
  24. environment:
  25. DOCKER_BUILDKIT: '1'
  26. NODE_MAX_OLD_SPACE_SIZE: '3072'
  27. NPM_REGISTRY: https://registry.npmmirror.com
  28. PIP_INDEX_URL: https://mirrors.aliyun.com/pypi/simple/
  29. PIP_TRUSTED_HOST: mirrors.aliyun.com
  30. ZKXW_DEPLOY_VERSION: v1.1.0
  31. commands:
  32. - set -eu
  33. # 国内机访问 dl-cdn.alpinelinux.org 偶发 Permission denied,改用阿里云镜像
  34. - sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories
  35. - apk add --no-cache bash git python3
  36. # 固定 v1.1.0;$${ } 防止 Drone 预处理把自定义变量掏空
  37. - export ZKXW_DEPLOY_VERSION="$${ZKXW_DEPLOY_VERSION:-v1.1.0}"
  38. - echo "==> git tag=${DRONE_TAG:-none} deploy_version=$${ZKXW_DEPLOY_VERSION} commit=${DRONE_COMMIT}"
  39. - chmod +x scripts/package-docker-deploy.sh scripts/build-docker-images.sh
  40. - |
  41. if [ -f /releases/.deploy-docker.env ]; then
  42. mkdir -p deploy/docker
  43. cp /releases/.deploy-docker.env deploy/docker/.env
  44. echo "using /releases/.deploy-docker.env for secret inject"
  45. fi
  46. - ./scripts/package-docker-deploy.sh "$${ZKXW_DEPLOY_VERSION}"
  47. - mkdir -p /releases
  48. - cp -v dist/zkxw-docker-deploy-"$${ZKXW_DEPLOY_VERSION}".tar.gz /releases/
  49. - ls -lh /releases/zkxw-docker-deploy-"$${ZKXW_DEPLOY_VERSION}".tar.gz
  50. - sha256sum /releases/zkxw-docker-deploy-"$${ZKXW_DEPLOY_VERSION}".tar.gz