安装 Drone(github,其他参考官网)

  1. 创建OAuth程序,并通过keySecret授权访问github资源。

请参考下面的格式填写Authorization callback URL

  1. 创建共享秘钥

用于验证runnersDrone之间的通信

openssl rand -hex 16
  1. 下载Drone
docker pull drone/drone:2
  1. 配置

本文只包括简单配置,完整配置

  • DRONE_GITHUB_CLIENT_ID

步骤1在github生成的Client ID

  • DRONE_GITHUB_CLIENT_SECRET

步骤1在github生成的Client secrets

  • DRONE_RPC_SECRET

步骤2生成的秘钥

  • DRONE_SERVER_HOST

服务器的地址,可以包含端口。例如:drone.company.com

  • DRONE_SERVER_PROTO

服务器协议。http 或者 https

  • DRONE_USER_CREATE

设置初始管理员。格式参考:username:{管理员账号},admin:true

  1. 启动服务器

通过以下命令启动服务器

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GITHUB_CLIENT_ID= \
  --env=DRONE_GITHUB_CLIENT_SECRET= \
  --env=DRONE_RPC_SECRET= \
  --env=DRONE_SERVER_HOST= \
  --env=DRONE_SERVER_PROTO= \
  --env=DRONE_USER_CREATE=username:{管理员账号},admin:true \
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:2

更多参考drone官网

安装drone-runner(docker runner,其他参考官网)

  1. 下载drone-runner
docker pull drone/drone-runner-docker:1
  1. 配置

本文只包括简单配置,[完整配置](https://docs.drone.io/runner/docker/configuration/reference/)。

  • DRONE_RPC_HOST

Drone服务器的地址,可以包含端口。

  • DRONE_RPC_PROTO

Drone服务器协议。http 或者 https

  • DRONE_RPC_SECRET

安装drone时填写的秘钥

  1. 启动drone-runner

通过以下命令启动drone-runner

docker run --detach \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --env=DRONE_RPC_PROTO=https \
  --env=DRONE_RPC_HOST=drone.company.com \
  --env=DRONE_RPC_SECRET=super-duper-secret \
  --env=DRONE_RUNNER_CAPACITY=2 \
  --env=DRONE_RUNNER_NAME=my-first-runner \
  --publish=3000:3000 \
  --restart=always \
  --name=runner \
  drone/drone-runner-docker:1
  1. 验证

使用命令查看日志并验证drone-runner成功与drone建立了连接。

docker logs runner

INFO[0000] starting the server
INFO[0000] successfully pinged the remote server