|
@@ -0,0 +1,57 @@
|
|
|
|
|
+version: '3.8'
|
|
|
|
|
+
|
|
|
|
|
+# 定义两个服务:drone-server(调度管理)、drone-runner-docker(任务执行)
|
|
|
|
|
+services:
|
|
|
|
|
+ # 1. Drone Server 服务(核心管理节点)
|
|
|
|
|
+ drone-server:
|
|
|
|
|
+ image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-drone-v2.26.0
|
|
|
|
|
+ container_name: drone-server
|
|
|
|
|
+ restart: always
|
|
|
|
|
+ ports:
|
|
|
|
|
+ - "8180:80" # Drone 前端访问端口(主机8080 -> 容器80)
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - ./drone/server/data:/data # 持久化 Drone 配置与数据
|
|
|
|
|
+ environment:
|
|
|
|
|
+ # 核心配置:指向 Gogs 服务地址(必须可访问,替换为你的 Gogs 地址)
|
|
|
|
|
+ DRONE_GOGS_SERVER: "http://gogs.9981.tech"
|
|
|
|
|
+ # Drone 自身访问地址(主机IP+端口,需与 ports 映射一致)
|
|
|
|
|
+ DRONE_SERVER_HOST: "114.217.21.151:8180"
|
|
|
|
|
+ DRONE_SERVER_PROTO: "http" # 非HTTPS填http,HTTPS填https
|
|
|
|
|
+ # 认证密钥:自定义随机字符串(Server 与 Runner 需一致,建议修改为自己的字符串)
|
|
|
|
|
+ DRONE_RPC_SECRET: "my-drone-secret-123456-z"
|
|
|
|
|
+ # 可选:关闭注册(仅授权用户可访问)
|
|
|
|
|
+ #DRONE_REGISTRATION_CLOSED: "true"
|
|
|
|
|
+ # 可选:配置时区
|
|
|
|
|
+ TZ: "Asia/Shanghai"
|
|
|
|
|
+
|
|
|
|
|
+ # 2. Drone Docker Runner 服务(流水线执行节点)
|
|
|
|
|
+ drone-runner-docker:
|
|
|
|
|
+ image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-drone-runner-docker-v1.8.4
|
|
|
|
|
+ container_name: drone-runner-docker
|
|
|
|
|
+ restart: always
|
|
|
|
|
+ privileged: true # 赋予特权,支持构建 Docker 镜像
|
|
|
|
|
+ depends_on:
|
|
|
|
|
+ - drone-server # 依赖 drone-server,先启动 Server 再启动 Runner
|
|
|
|
|
+ ports:
|
|
|
|
|
+ - "3000:3000" # Runner 监控端口(可选,可不暴露)
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - /var/run/docker.sock:/var/run/docker.sock # 挂载 Docker 套接字,核心依赖
|
|
|
|
|
+ - ./drone/runner/data:/data # 持久化 Runner 数据
|
|
|
|
|
+ environment:
|
|
|
|
|
+ # 指向 Drone Server 的地址(与 Server 配置一致)
|
|
|
|
|
+ DRONE_RPC_HOST: "114.217.21.151:8180"
|
|
|
|
|
+ DRONE_RPC_PROTO: "http"
|
|
|
|
|
+ # 认证密钥:必须与 drone-server 的 DRONE_RPC_SECRET 完全一致
|
|
|
|
|
+ DRONE_RPC_SECRET: "my-drone-secret-123456-z"
|
|
|
|
|
+ # 最大并行任务数:按需调整(如 2 表示同时执行 2 个任务)
|
|
|
|
|
+ DRONE_RUNNER_CAPACITY: "2"
|
|
|
|
|
+ # 可选:Runner 名称
|
|
|
|
|
+ DRONE_RUNNER_NAME: "docker-runner-01"
|
|
|
|
|
+ # 可选:配置时区
|
|
|
|
|
+ TZ: "Asia/Shanghai"
|
|
|
|
|
+
|
|
|
|
|
+# 可选:定义网络(默认使用 bridge 网络,可自定义)
|
|
|
|
|
+networks:
|
|
|
|
|
+ default:
|
|
|
|
|
+ name: drone-network
|
|
|
|
|
+ driver: bridge
|