| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # Drone CI(对接本机 Gogs)— 部署到测试机 /root/drone/
- # 用法:
- # cp .env.example .env # 填写 DRONE_RPC_SECRET
- # docker compose up -d
- #
- # 访问:http://101.35.245.122:18088 (用 Gogs 用户名/密码登录)
- # Gogs:http://101.35.245.122:3000
- #
- # 流水线:仅 tag → 生产 Docker 交付包 → /root/zkxw-releases/
- services:
- drone:
- image: drone/drone:2
- container_name: drone
- restart: always
- ports:
- - '18088:80'
- volumes:
- - drone-data:/data
- environment:
- DRONE_AGENTS_ENABLED: 'true'
- DRONE_GOGS_SERVER: ${DRONE_GOGS_SERVER:-http://101.35.245.122:3000}
- DRONE_GOGS_SKIP_VERIFY: ${DRONE_GOGS_SKIP_VERIFY:-false}
- DRONE_RPC_SECRET: ${DRONE_RPC_SECRET}
- DRONE_SERVER_HOST: ${DRONE_SERVER_HOST:-101.35.245.122:18088}
- DRONE_SERVER_PROTO: ${DRONE_SERVER_PROTO:-http}
- DRONE_GIT_ALWAYS_AUTH: ${DRONE_GIT_ALWAYS_AUTH:-false}
- extra_hosts:
- - '101.35.245.122:host-gateway'
- - 'host.docker.internal:host-gateway'
- runner:
- image: drone/drone-runner-docker:1
- container_name: drone-runner
- restart: always
- depends_on:
- - drone
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock
- environment:
- DRONE_RPC_PROTO: ${DRONE_RPC_PROTO:-http}
- DRONE_RPC_HOST: ${DRONE_RPC_HOST:-drone:80}
- DRONE_RPC_SECRET: ${DRONE_RPC_SECRET}
- DRONE_RUNNER_CAPACITY: ${DRONE_RUNNER_CAPACITY:-1}
- DRONE_RUNNER_NAME: ${DRONE_RUNNER_NAME:-zkxw-test-1}
- # 允许流水线挂载 docker.sock / 发版目录 / Maven 公共仓库(host volume allowlist)
- # zkxw → /releases;杭州第一技师 → /hzdyjs-releases;Java 依赖 → /maven-repo
- # 注意:流水线 yaml 勿再声明相同容器路径,否则 Duplicate mount point
- DRONE_RUNNER_VOLUMES: /var/run/docker.sock:/var/run/docker.sock,/root/zkxw-releases:/releases,/root/hzdyjs-releases:/hzdyjs-releases,/root/maven-repo:/maven-repo
- # 允许 privileged 步骤(docker build)
- DRONE_RUNNER_PRIVILEGED_IMAGES: docker:27-cli,docker:24-cli,docker:dind
- extra_hosts:
- - '101.35.245.122:host-gateway'
- - 'host.docker.internal:host-gateway'
- volumes:
- drone-data:
|