通过node设置,可以把任务分配给不同runner去执行,通过这种方式,可以指定不同位置的runner,或不同硬件配置的runner来执行任务。要实现这个功能,那么我们的runner要添加 DRONE_RUNNER_LABELS参数,然后通过设置pipeline的node属性来调用。
runner配置
docker-compose配置如下:
version: "3"
services:
drone-runner-docker:
container_name: drone-runner-docker
image: drone/drone-runner-docker
restart: always
privileged: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone host address
- DRONE_RPC_SECRET=drone host key
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=drone-runner-fitit100-dev
- DRONE_RUNNER_LABELS=server:fitit100-dev
- DRONE_LOGS_TRACE=false
- DRONE_AGENTS_ENABLED=true
ports:
- 3000:3000
注意,runner只要加上了DRONE_RUNNER_LABELS参数,那么该runner默认是不会轮询调用的,一定要通过node指定后才会调用!
pipeline配置
....
node:
server: fitit100-dev #通过key指定runner
评论区